查看: 67|回覆: 0

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

[複製鏈接]

4

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2012-6-18
發表於 2020-8-28 18:33:00 | 顯示全部樓層 |閲讀模式

先贴一张效果图

 

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');  //如效果图

  



来源:https://www.cnblogs.com/userGao/p/13579422.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部