echarts的legend图例的显示与隐藏(legend图例进入页面显示的个数)

在操作echarts时,echarts的柱状图、地图等各种图形显示的时候往往会有legend图标的显示,有时候需求要求,legend图标不全部显示,只显示一个或指定的图标显示。
默认的图形(以柱状图及地图为例):



需求要求的图:


解决办法:


代码展示:
function randomData() {
    return Math.round(Math.random()*1000);
}

option = {
    title: {
        text: 'iphone销量',
        subtext: '纯属虚构',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data:['iphone3','iphone4','iphone5'],
        selected: {
				    'iphone3' : false,
				    'iphone5' : false,
				    //不想显示的都设置成false
				  }
    },
    visualMap: {
        min: 0,
        max: 2500,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    toolbox: {
        show: true,
        orient: 'vertical',
        left: 'right',
        top: 'center',
        feature: {
            dataView: {readOnly: false},
            restore: {},
            saveAsImage: {}
        }
    },
    series: [
        {
            name: 'iphone3',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: randomData() },
                {name: '天津',value: randomData() },
                {name: '上海',value: randomData() },
                {name: '重庆',value: randomData() },
                {name: '河北',value: randomData() },
                {name: '河南',value: randomData() },
                {name: '云南',value: randomData() },
                {name: '辽宁',value: randomData() },
                {name: '黑龙江',value: randomData() },
                {name: '湖南',value: randomData() },
                {name: '安徽',value: randomData() },
                {name: '山东',value: randomData() },
                {name: '新疆',value: randomData() },
                {name: '江苏',value: randomData() },
                {name: '浙江',value: randomData() },
                {name: '江西',value: randomData() },
                {name: '湖北',value: randomData() },
                {name: '广西',value: randomData() },
                {name: '甘肃',value: randomData() },
                {name: '山西',value: randomData() },
                {name: '内蒙古',value: randomData() },
                {name: '陕西',value: randomData() },
                {name: '吉林',value: randomData() },
                {name: '福建',value: randomData() },
                {name: '贵州',value: randomData() },
                {name: '广东',value: randomData() },
                {name: '青海',value: randomData() },
                {name: '西藏',value: randomData() },
                {name: '四川',value: randomData() },
                {name: '宁夏',value: randomData() },
                {name: '海南',value: randomData() },
                {name: '台湾',value: randomData() },
                {name: '香港',value: randomData() },
                {name: '澳门',value: randomData() }
            ]
        },
        {
            name: 'iphone4',
            type: 'map',
            mapType: 'china',
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: randomData() },
                {name: '天津',value: randomData() },
                {name: '上海',value: randomData() },
                {name: '重庆',value: randomData() },
                {name: '河北',value: randomData() },
                {name: '安徽',value: randomData() },
                {name: '新疆',value: randomData() },
                {name: '浙江',value: randomData() },
                {name: '江西',value: randomData() },
                {name: '山西',value: randomData() },
                {name: '内蒙古',value: randomData() },
                {name: '吉林',value: randomData() },
                {name: '福建',value: randomData() },
                {name: '广东',value: randomData() },
                {name: '西藏',value: randomData() },
                {name: '四川',value: randomData() },
                {name: '宁夏',value: randomData() },
                {name: '香港',value: randomData() },
                {name: '澳门',value: randomData() }
            ]
        },
        {
            name: 'iphone5',
            type: 'map',
            mapType: 'china',
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: randomData() },
                {name: '天津',value: randomData() },
                {name: '上海',value: randomData() },
                {name: '广东',value: randomData() },
                {name: '台湾',value: randomData() },
                {name: '香港',value: randomData() },
                {name: '澳门',value: randomData() }
            ]
        }
    ]
};


  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
plt.legend的所有参数包括: - loc: 图例位置,可取值为'best', 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'。用于指定图例的位置。 - fontsize: 字体大小,用于设置图例文本的字体大小。 - frameon: 是否显示图例边框,如果设置为True,则显示图例边框;如果设置为False,则不显示图例边框。 - ncol: 图例的列的数量,一般为1。用于指定图例的列数。 - title: 为图例添加标题,可用于为图例增加一个标题。 - shadow: 是否为图例边框添加阴影,如果设置为True,则为图例边框添加阴影;如果设置为False,则不添加阴影。 - markerfirst: True表示图例标签在句柄右侧,False表示图例标签在句柄左侧。 - markerscale: 图例标记的大小,相对于原始标记的倍数。 - numpoints: 图例句柄上的标记点的个数,一般设置为1。 - fancybox: 是否将图例框的边角设为圆形,如果设置为True,则边角为圆形;如果设置为False,则边角为直角。 - framealpha: 控制图例框的透明度,取值范围为0到1之间。 - borderpad: 图例框的内边距,用于控制图例文本与边框之间的距离。 - labelspacing: 图例中条目之间的距离,用于控制图例中每个条目之间的垂直距离。 - handlelength: 图例句柄的长度,用于控制图例句柄的长度。 - bbox_to_anchor: 图例的位置,如果要自定义图例位置或将图例放置在坐标外边,可以使用该参数配合ax.get_position()和set_position([box.x0, box.y0, box.width*0.8, box.height])使用。 以上是plt.legend的所有参数,您可以根据需要选择适当的参数来设置图例
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值