e-charts legend设置item样式

项目场景:

使用 legend显示不同类型(bar和line)的item样式


需实现的效果图:

在这里插入图片描述

解决方案:

  • legend以数组的方式分区域显示item

  • 设置方法如下:

legend: [
          {
            // right: 80,
            x: 'right', // 可设定图例在左、右、居中
            y: 'top', // 可设定图例在上、下、居中
            padding: [0, 100, 0, 0], // 可设定图例[距上方距离,距右方距离,距下方距离,距左方距离]
            data: ['投入数', '产出数'],
            textStyle: {
              color: '#B6CDE9',
              fontSize: '14px',
              fontFamily: 'Source Han Sans CN',
              fontWeight: 400
            },
            itemWidth: 12,
            itemHeight: 12
          },
          {
            x: 'right', // 可设定图例在左、右、居中
            y: 'top', // 可设定图例在上、下、居中
            padding: [0, 30, 0, 0], // 可设定图例[距上方距离,距右方距离,距下方距离,距左方距离]
            data: ['在制数'],
            textStyle: {
              color: '#B6CDE9',
              fontSize: '14px',
              fontFamily: 'Source Han Sans CN',
              fontWeight: 400
            },
            itemWidth: 20,
            itemHeight: 6
          }
        ],
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ant Design Charts 提供了一个 `legend` 属性来控制图例的显示和隐藏。您可以将 `legend` 设置为一个对象来定义图例的样式和行为。下面是一个例子: ``` import { LineChart } from 'bizcharts'; const data = [ { year: '1991', value: 3 }, { year: '1992', value: 4 }, { year: '1993', value: 3.5 }, { year: '1994', value: 5 }, { year: '1995', value: 4.9 }, { year: '1996', value: 6 }, { year: '1997', value: 7 }, { year: '1998', value: 9 }, { year: '1999', value: 13 }, ]; const legend = { position: 'top', itemName: { formatter: val => { if (val === 'value') { return '销售额(万元)'; } return val; }, }, marker: { symbol: 'circle', style: { r: 6 }, }, onClick: ev => { const item = ev.item; const value = item.value; const checked = ev.checked; const geoms = chart.getAllGeoms(); for (let i = 0; i < geoms.length; i++) { const geom = geoms[i]; if (geom.getYScale().field === value) { if (checked) { geom.show(); } else { geom.hide(); } } } }, }; function LineChartWithLegend(props) { return ( <LineChart data={data} xField="year" yField="value" height={400} legend={legend} /> ); } ``` 在上面的代码中,我们通过 `legend` 属性来定义图例的样式和行为。`position` 属性指定了图例的位置,`itemName` 属性用于指定图例项的名称,`marker` 属性用于指定标记的样式,`onClick` 属性用于指定点击图例项后的行为。在 `onClick` 回调函数中,我们可以控制与之关联的几何对象的显示和隐藏,从而实现通过图例控制数据的筛选。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值