绘图

echarts-4 基于Doughnut Chart饼图-环形图

2021-11-24  本文已影响0人  hanmovv

上篇说到了基于柱状图的样式修改,现在我们来讲第二个图——Doughnut Chart。
首先看一下原型图:

Doughnut Chart原型图
要求:
1、将顶部的图例放置在下方,样式居中,且图例除显示文字也显示百分比。
2、环的每个区域有线引出且含有该区域的名称。
其他详情参考效果图。

英语单词

1.legend: (图片或地图的)文字说明,图例;
2.formatter: n. 格式化程序;[计] 格式器;
3.transparent: adj. 透明的,清澈的;(过程、活动或组织)透明的,公开的;
4.emphasis: n. 重要性,重点强调;重读,强调;

修改样式

1、legend style

这是我学习时看到的一篇博客,挺详细的。我这里就不再讲解了。
转载:实现echarts的legend属性设置详解以及没有显示问题

var option = {
      tooltip: {
        trigger: 'item'
      },
      legend: {
        left: 'center',          //这个应该看着就知道是调整图例的位置的吧
        bottom: '76',
        width: 400,
        height: 46,
        align: 'left',
        // 使用回调函数
        formatter: function (name) {
          var data = option.series[0].data;
          var total = 0;
          var tarValue;
          for (var i = 0, l = data.length; i < l; i++) {
            total += data[i].value;
            if (data[i].name == name) {
              tarValue = data[i].value;
            }
          }
          var p = Math.round(tarValue / total * 10000) / 100; //保留百分比后两位数字。
          return name + " " + " " + p + "%";
        },
      },
};

2、数据区域样式

series: [{
        name: 'Access From',
        type: 'pie',
        radius: ['30%', '50%'],          //饼图的半径,第一项是内半径,第二项是外半径,
                                        //内半径为0就是真的饼,不是环形
        center: ['50%', '35%'],         //设置饼的原心坐标不设置就会默认在中心的位置

        avoidLabelOverLap: true,     //是否启用防止标签重叠策略,默认开启,
                                     //在标签拥挤重叠的情况下会挪动各个标签的位置,防止标签间的重叠
        minAngle: 1,                 //最小的扇区角度(0 ~ 360)
                                     //用于防止某个值过小导致扇区太小影响交互。
        label: { position: 'outside'},     //默认是在外面的
        label: {
      //label 标签的另一写法  
              normal: {
                // show: false,
                // offset:[20,-15],      这里会改变标签内容的位置 前者文字在横向上偏移 20,纵向上偏移 -15。
                position: 'outside'
              },
              show: false,
              position: 'center'
            },
                                     //饼图图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等
        data: [{ value: 79,name: '计算机网络' },
               {value: 86,name: '操作系统'},
               {value: 88,name: '计算机组成原理'},
               {value: 90,name: '算法'},
               { value: 72,name: '数据库'},
               {value: 86, name: '数据结构'},]
            }]
效果图

上面有一个formatter,大致讲一下这个是啥玩意,在legend中使用这个就是自定义图例中你所需的内容,将你所需的内容用return返回 return返回啥就能看到啥。我这里就是返回了名字和两个空格和百分比数。

上一篇下一篇

猜你喜欢

热点阅读