echarts饼图 饼图分隔线、图例的位置、图例的类型、图例后面带数据

  • Post author:
  • Post category:其他




先看下实现之后的效果:

在这里插入图片描述



饼图的分隔线:实际上是通过给边框宽度和边框色实现的

series:[
	itemStyle:{
            // 间隔
              borderWidth:2,
              borderColor:'#000'
          }
]



图例的位置、间距:

legend:{
		//纵向
 		orient: 'vertical',
        top: '40%',
        left: '67%',
        //图例距离饼图的距离
        itemGap: 40,
        itemWidth: 14,// 设置图例图形的宽
        itemHeight: 14
}



图例的图形:(因为我写的图形是环形 不是官网自带的,需要给图例颜色设置为透明色,加上边框宽度,由于每个图形颜色不同,所以需要单独设置 )

legend: {
		//图例里 每条数据里的名字和图形颜色
        data:[
            {
                value: 25,
                name: '立项',
                itemStyle:{
                	borderColor:"#0ba5ff"
                }
                
            },
            {
                value: 8, 
                name: '验收',
                itemStyle:{
                	borderColor:"#fcd501"
                }
                
            },
            {
                value: 4, 
                name: '归档',
                itemStyle:{
                	borderColor:"#596c7a"
                }
                
            }
        ],
	//icon类型:'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
     icon: "circle",
     //全部样式
     itemStyle:{
            color:"transparent",
            // 间隔
            borderWidth:2
        },
  }



图例后面带数据:

formatter: function(name) {
          var index = 0;
           var clientlabels = ['  立项','  验收','  归档'];
           var clientcounts = [25,8,4];
           clientlabels.forEach(function(value,i){
               if(value == name){
                   index = i;
               }
           });
           return name + "                     " + clientcounts[index];
       }



全部代码:

option = {
    title: {
        text: '项目阶段情况',
        left: 'center',
        top:"48%",
        textStyle:{
                fontSize: 26,
                fontWeight:"normal",
                width:30,
                height:60
            },
    },
    tooltip: {
        trigger: 'item'
    },
    legend: {
        data:[
            {
                value: 25,name: '立项',
                itemStyle:{
                    borderColor:"#0ba5ff"
                }
                
            },
            {
                value: 8, name: '验收',
                itemStyle:{
                    borderColor:"#fcd501"
                }
                
            },
            {
                value: 4, name: '归档',
                itemStyle:{
                    borderColor:"#596c7a"
                }
                
            }
        ],
        textStyle:{
          fontSize:18  
        },
        itemStyle:{
            color:"transparent",
            // 间隔
            borderWidth:2,
            // borderColor:"#0ba5ff"
        },
        orient: 'vertical',
        top: '40%',
        left: '67%',
        itemGap: 40,
        itemWidth: 14,// 设置图例图形的宽
        itemHeight: 14,
        //icon类型:'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
        icon: "circle",
        formatter: function(name) {
                                var index = 0;
                                var clientlabels = ['立项','验收','归档'];
                                var clientcounts = [25,8,4];
                                clientlabels.forEach(function(value,i){
                                    if(value == name){
                                        index = i;
                                    }
                                });
                                return name + "                     " + clientcounts[index];
                            },
        // 图例关闭后的描边颜色
        inactiveColor:"pink"
    },
    series: [
        {
            name: '项目阶段情况',
            type: 'pie',
            radius: ['36%', '30%'],
            // 标签不会重叠
            avoidLabelOverlap: true,
            label: {
                show: false,
                position: 'center'
            },
            // 选中时候的样式
            emphasis: {
                label: {
                    show: false,
                    fontSize: '40',
                    fontWeight: 'bold'
                }
            },
              itemStyle:{
                // 间隔
                borderWidth:3,
                borderColor:'#000'
            },
            labelLine: {
                show: true
            },
            data: [
                {value: 25,name: '立项',itemStyle:{color:"#0ba5ff"}},
                {value: 8, name: '验收',itemStyle:{color:"#fcd501"}},
                {value: 4, name: '归档',itemStyle:{color:"#596c7a"}}
            ]
        }
    ]
};



版权声明:本文为makemoreefforts原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。