Echart:柱状图每条柱子根据类别显示不同的颜色,图例显示类别;点击图例实现控制多条柱子的显示与隐藏

在这里插入图片描述

在这里插入图片描述

legend只能使用series(系列名称)来展示;
每个类别中显示多条数据,然后只有堆叠柱状图实现,当需要的显示value,其余的利用null填充。
点击类别可控制多条同一品类的柱条的显示与隐藏

option = {
  legend: {
    show: true,
    formatter: function (name) {
      const list = {
        test_1: '品类A',
        test_2: '品类B',
        test_3: '品类C',
        test_4: '品类D'
      };
      return list[name];
    }
  },
  xAxis: [
    {
      type: 'category',
      data: ['苹果', '哆啦A梦', '百年孤独', '佳能', '香蕉🍌'],
      axisTick: {
        // 轴刻度
        show: false
      },
      axisLabel: {
        // 轴文字
        color: '#A0B2D3',
        fontSize: 20
      },
      axisLine: {
        // 轴线
        show: false
      }
    }
  ],
  yAxis: {
    type: 'value'
  },
  series: [
    {
      name: 'test_1',
      data: [12, null, null, null, null],
      type: 'bar',
      stack: 'Mon',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    },
    {
      name: 'test_4',
      data: [null, 17, null, null, null],
      type: 'bar',
      stack: 'Mon',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    },
    {
      name: 'test_2',
      data: [0, 0, 21, null, null],
      type: 'bar',
      stack: 'Mon',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    },
    {
      name: 'test_3',
      data: [0, 0, 0, 2, 0],
      type: 'bar',
      stack: 'Mon',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    },
    {
      name: 'test_1',
      data: [0, 0, 0, 0, 22],
      type: 'bar',
      stack: 'Mon',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    }
  ]
};

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 echarts 实现柱状图两个柱子重叠的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Echarts 柱状图示例</title> <!-- 引入 echarts.min.js --> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> </head> <body> <!-- 定义一个容器来显示图表 --> <div id="chart" style="width: 600px;height:400px;"></div> <script type="text/javascript"> // 初始化 echarts 实例 var myChart = echarts.init(document.getElementById('chart')); // 指定图表的配置项和数据 var option = { // 定义图表标题 title: { text: '柱状图两个柱子重叠示例' }, // 定义图例 legend: { data: ['柱子1', '柱子2'] }, // 定义 x 轴 xAxis: { data: ['一月', '二月', '三月', '四月', '五月'] }, // 定义 y 轴 yAxis: { type: 'value' }, // 定义数据系列 series: [ { name: '柱子1', type: 'bar', // 定义柱子的数据 data: [100, 200, 300, 400, 500], // 定义柱子的样式 itemStyle: { color: '#c23531' } }, { name: '柱子2', type: 'bar', // 定义柱子的数据 data: [200, 300, 400, 500, 600], // 定义柱子的样式 itemStyle: { color: '#2f4554' }, // 定义柱子的堆叠方式 stack: 'one' } ] }; // 使用刚指定的配置项和数据显示图表 myChart.setOption(option); </script> </body> </html> ``` 在这个示例中,我们使用了 echarts 的 `bar` 类型来定义柱状图,通过 `itemStyle` 属性来定义柱子颜色,通过 `stack` 属性来定义柱子的堆叠方式。在数据系列中定义了两个柱子,分别为 `柱子1` 和 `柱子2`,并且 `柱子2` 的堆叠方式为 `one`,表示和 `柱子1` 堆叠在一起。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值