• echarts配置一个中间显示文字的环形图


    先贴一张效果图

    1.导包

     我没有用什么框架,直接引入echarts.min.js文件,代码如下:

      <script src="./js/echarts.min.js"></script>
    

      注意这样引入不要放在header标签里,会阻塞html渲染,导致报错。

    2.给echarts一个盒子

       <div id="angular" class="everySkill"></div>
    

    3.配置环形图

      我这里写成了一个函数,方便一个页面复用。

    function ecInit(dom, value1, value2, name) {
      var dom = dom; //就是你要放入的盒子元素
      var myChart = echarts.init(dom);
      option = {
        tooltip: {
          show: false,
          trigger: 'item',
          formatter: "{a} : {c} ({d}%)"
        },
        //  color: ['#546570', '#c4ccd3'],
        // color: ['rgb(255,159,127)', 'rgb(50,197,233)'],
        // legend: {
        //   orient: 'vertical',
        //   x: '35%',
        //   top: '27%',
        //   itemHeight: 10,//图例的高度
        //   itemGap: 8,//图例之间的间距
        //   data: ['通过率' + pass_rate + '%', '平均值' + average + '%']
        //   //图例的名字需要和饼图的name一致,才会显示图例
        // },
        title: {
          text: value1 + '%',  //图形标题,配置在中间对应效果图的80%
          left: "center",
          top: "50%",
          textStyle: {
            color: "rgb(50,197,233)",
            fontSize: 16,
            align: "center"
          }
        },
        series: [
          {
            type: 'pie',
            radius: ['70%', '90%'],  //设置内外环半径,两者差值越大,环越粗
            hoverAnimation: false,  //移入图形是否放大
            label: {     //对应效果图中的Angular显示与否以及设置样式
              // show: true,
              // position: 'center',
              normal: {
                show: true,
                position: 'center',
                padding: [0, 0, 20, 0],  //设置字angular的边距
                fontSize: 16,
              }
            },
            labelLine: {
              normal: {  //label线不显示
                show: false
              }
            },
            // emphasis: { //鼠标移入时效果
            //   label: {
            //     show: false,
            //     fontSize: '20',
            //     fontWeight: 'bold'
            //   }
            // },
            data: [
              {                   
                name: name,   //数据,name对应Angular
                value: value1,  //对应显示的部分数据即80%
                itemStyle: {
                  normal: {
                    color: 'rgb(50,197,233)',
                  }
                }
              },
              {
                value: value2,
                itemStyle: {
                  normal: {
                    color: 'transparent'
                  }
                }
              }
            ]
          }
        ]
      };
      myChart.setOption(option, true);
    }
    

      

    4.调用

    ecInit(angular,80,20,'Angular');  //如效果图
    

      

  • 相关阅读:
    Team--时代团队第一次团队项目---基于大作业的思考
    敏捷软件开发
    求一个二维数组的最大子矩阵
    电梯调度分析(二)
    一个简单算法的设计(一个数组中连续区间和的最大值)
    电梯调度算法(-)
    "top k"问题的深入探讨
    js中判断对象是否为空的方法
    Spring Security 3.x 完整入门教程
    Filter 过滤器
  • 原文地址:https://www.cnblogs.com/userGao/p/13579422.html
Copyright © 2020-2023  润新知