码迷,mamicode.com
首页 > 其他好文 > 详细

echarts常用方法,饼图切换圆环中文字(三)

时间:2019-04-25 16:16:09      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:事件   join   .com   UNC   normal   label   getopt   return   editor   

在echarts的饼图应用时,遇到过一个需求就是鼠标移到半环上可以切换环中的文字,同时支持legend点击事件。误区是,鼠标移动到环上重新渲染option,以切换内部的文字。重新渲染option的做法,不能保存你原有的legend状态。

找到一个办法就是,只渲染环内部文字的label。

主要代码如下:

option = {
    series : [
        {
          ...
          type:‘pie‘,
          ...
          label: {            
                    show: true,
                    position: ‘outside‘,
                    formatter:function(params){
                        let nm = params.name,per = Number(params.percent).toFixed(2) ;
                        return [`{a|${nm}}\n`,`{b|${per}%}`]
                    },
                    rich: {
                        a: {
                            color:‘#fff‘,
                            fontSize:14,
                            lineHeight: 20
                        },
                        b: {
                            color:‘yellow‘,
                            fontSize:14,
                            foneWeight:‘bold‘
                        },
                    }          
            },
    ...
}]
myChart.on(‘mouseover‘, (params) => {
    currName = params.name;

    let op = myChart.getOption();
    if(params.seriesIndex === 0){
        let _label = {
            normal:{
                show: true,
                position: ‘center‘,
                formatter: [
                    `{a|${params.name}}`,
                    `{b|${params.percent + "%"}}`
                ].join(‘\n‘),
                rich: {
                    a: {
                        color:‘#fff‘,
                        fontSize: 18,
                        lineHeight: 30
                    },
                    b: {
                        color:‘yellow‘,
                        fontSize: 20,
                        foneWeight:‘bold‘,
                        textShadowBlur: 20,
                        textShadowColor: ‘yellow‘
                    },
                    
                }
            }  
        }
    
        op.series[2].label = _label;
        myChart.setOption(op,true)
        
    }
    

})

提供一个自己写的demo链接:https://gallery.echartsjs.com/editor.html?c=xdysA_7PCd,如果对你有帮助,点个赞给点鼓励吧~

echarts常用方法,饼图切换圆环中文字(三)

标签:事件   join   .com   UNC   normal   label   getopt   return   editor   

原文地址:https://www.cnblogs.com/lmxHome/p/10768906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!