echarts data里的value为0时隐藏显示 label为0时隐藏

版本echarts3

官方文档:http://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts

先看一下源代码:

<script type="text/javascript">
option = {
    title : {
        text: '某站点用户访问来源',
        subtext: '纯属虚构',
        x:'center'
    },
    tooltip : {
        trigger: 'item',
        formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
    },
    series : [
        {
            name: '访问来源',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:335, name:'直接访问'},
                {value:310, name:'邮件营销'},
                {value:234, name:'联盟广告'},
                {value:135, name:'视频广告'},
                {value:1548, name:'搜索引擎'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};
</script>

显示效果:

如果想隐藏引导线的和文字的话需要再data里加 label:{show:false},labelLine:{show:false},这样就可以单独对某个值进行隐藏显示了

下面是一个检索方式和数据判断,假设数据的value等于0的时候隐藏引导线和文字,循环全部的值逐个筛选

注意:每个data里都要写 label:{show:true},labelLine:{show:true} 作为默认值

<script type="text/javascript">
option = {
    title : {
        text: '某站点用户访问来源',
        subtext: '纯属虚构',
        x:'center'
    },
    tooltip : {
        trigger: 'item',
        formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
    },
    series : [
        {
            name: '访问来源',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:0, name:'直接访问',label:{show:true},labelLine:{show:true}},
                {value:310, name:'邮件营销',label:{show:false},labelLine:{show:false}},
                {value:234, name:'联盟广告',label:{show:true},labelLine:{show:true}},
                {value:135, name:'视频广告',label:{show:true},labelLine:{show:true}},
                {value:1548, name:'搜索引擎',label:{show:true},labelLine:{show:true}},
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};
var opt = option.series[0];
lineHide(opt);
//数据为零时隐藏线段
function lineHide(opt) {
    //循环获取数据进行处理
    jQuery.each(opt.data, function (i, item) {
        //value等于0改变label与labelLine属性
        if (item.value === 0) {
            item.labelLine.show = false;
            item.label.show = false;
        }
    });
}
</script>

显示效果:

为0的【直接访问】没有显示,默认值是false的【邮件营销】也没有显示

官方文档:http://www.echartsjs.com/option.html#series-pie.data.label

效果测试:http://www.echartsjs.com/examples/editor.html?c=pie-simple

参考:https://blog.csdn.net/u011768325/article/details/73499299

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章