如何使用 ApexCharts 库和 Angular 框架根据条形图的值更改条形图的颜色?

How to change the color of bars according to their value, using the ApexCharts library and the Angular framework?

提问人:Humberto Constantino 提问时间:11/11/2023 最后编辑:Humberto Constantino 更新时间:11/13/2023 访问量:39

问:

我有一个组件,我在其中显示一个具有 2 个系列的图形,

指标和奖金

我设置了规则,当值从 0 到 99 时,条形变为红色,如果值大于 99,则条形必须为绿色。成功了!但是我不希望这条规则适用于“奖励”系列,奖励系列必须具有静态蓝色。这不是正在发生的事情,谁能帮我?

this.chartOptionsKpi = {
      series: [
        {
          name:'Indicador',
          data: this.indicadores,
        },
        {
          name: 'Bonus',
          data: this.bonus,
          color: '#379cdb'
        },
        
      ],
      chart: {
        height: 450,
        width: '100%',
        type: "bar",
        stacked: true,
      },
      plotOptions: {
       
        bar: {
          colors: {
          ranges: [
            {
              from: 0,
              to: 99,
              color: '#FF0000', 
            },
            {
              from: 100,
              to: 1000,
              color: '#008542', 
            },
            // add more ranges as needed
          ],
        },
          horizontal: false,
          // distributed: true,
          barHeight: '80%', 
          barWidth: '30%', 
          dataLabels: {
            position: 'top',
          }
        }
        
      },
      title: {
        text: "Indicador PEP - Mês"
      },
      xaxis: {
        labels: {
          style: {
            fontSize: '10px',
            fontWeight: 400,
        }, 
          rotate: -90,
        },
        type: "category",
        categories:this.refinariasNomes
      },
      colors: ['#008542','#379cdb'],
      
    };

当前图表

无效的解决方案

我已经试过了,但它没有用,一系列连续的奖金受到红色的影响。

角度 条形 柱状图 ng-顶点图表

评论


答:

0赞 Patryk Laszuk 11/13/2023 #1

使用方法,在 中使用此功能。https://apexcharts.com/docs/options/colors/rangescolors

function ({ value }) {
  if (value < 100) {
    return "#FF0000";
  } else {
    return "#008542";
  }
}

https://codepen.io/Gahzee/pen/poGwxGB

评论

0赞 Humberto Constantino 11/13/2023
谢谢!我设法以类似的方式解决了它,我需要传递 seriesindex