美文网首页IT技术篇
React中使用Highcharts实现立体饼图

React中使用Highcharts实现立体饼图

作者: 燕自浩 | 来源:发表于2020-09-21 16:19 被阅读0次
    前言

    在一个项目中做饼状图、柱状图、水球图,刚开始是借助echarts做的后来客户方说平面的觉得不好看非要立体图类似于3D效果(感官上看着有3D的感觉),无奈下开始翻阅echarts各个属性看是否能够通过配置属性来改变感官效果,后来经过一般拼死的挣扎没找到想要的那种效果,只能翻阅各大图标插件库来寻求解决办法,经过垂死挣扎,皇天不顾有心人让我看到了Highcharts,怎么说呢虽然Highcharts并没有echarts那么强大,但是Highcharts它有它的过人之处。在这里记录下如果使用Highcharts实现立体(富有3D效果)的饼状图。如果实现立体柱状图是完全可以借助echarts来实现的。废话不多说 它来喽
    操作平台: Web后台系统
    运用技术栈:React + TS
    需求:实现带有立体效果的饼状图

    处理之前的echarts的平面图
    处理之前的Highcharts的立体图
    方式1(推荐):
    1-1.安装所需的依赖
    npm install highcharts highcharts-react-official
    1-2. 引入依赖
    import Highcharts from 'highcharts'
    import HighchartsReact from 'highcharts-react-official'
    import highcharts3d from 'highcharts/highcharts-3d'(当使用3D特效的时候引入)
    highcharts3d(Highcharts)(当使用3D特效的时候引入)
    

    1-3. 在render中使用

    const SSS = {
          // 用于设置图表区相关属性
          chart: {
            type: 'pie',
            // 背景设为透明
            // backgroundColor: 'rgba(0,0,0,0)',
            options3d: {
              enabled: true, // 是否显示3D样式
              // 展示的角度
              alpha: 45,
              beta: 0
            }
          },
          // 标题
          title: {
            text: null,
          },
          // 鼠标放在饼图上显示的字
          tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'//小数点保留位数
          },
          // 设置图表的表现效果 设置该选项,会对整个图表生效。但是,如果你在series中单独又定制了相应的样式,那么plotOptions的设置将会被自定义的覆盖。 
          plotOptions: {
            pie: {
              // 鼠标样式为小手
              cursor: 'pointer',
              // 饼图的厚度
              depth: 20,
              dataLabels: {
                enabled: true,
                format: '{point.name}'
              }
            }
          },
          // 改变饼图默认颜色
          colors: ['#0DD9D4', '#D62222', '#95D94C'],
          // 禁用右下角版权信息
          credits: {
            enabled: false
          },
          // 用于设置图表中要展示的数据相关的属性
          series: [{
            // 显示类型
            type: 'pie',
            // 饼图显示的数据
            name: '占比',
            data: [
              // 显示的字和所占比例
              ['测试网络是否连接正确', 70.0],
              ['查找资讯', 5.0],
              ['懒得打网址直接搜网站的名字', 25.0]
            ]
          }]
        }
    <HighchartsReact highcharts={Highcharts}  options={SSS} />
    

    方式2:
    1-1. 下载依赖
    npm install highcharts
    1-2. 引入依赖

    import Highcharts from 'highcharts'
    import highcharts3d from 'highcharts/highcharts-3d'(当使用3D特效的时候引入)
    

    1-3. 在render模块中定义

     <div id="container" style="height: 400px"></div>
    

    1-4. 在componentwillmount生命周期中定义

    Hightcharts.chart(’container‘,{
       //highcharts各种图的参数
    })
    

    更多参数配置请参考https://api.highcharts.com.cn/highcharts

    相关文章

      网友评论

        本文标题:React中使用Highcharts实现立体饼图

        本文链接:https://www.haomeiwen.com/subject/vfivyktx.html