YAxis标签和系列的颜色相同

时间:2019-08-21 14:58:25

标签: highcharts

我有两个系列的图表。一个系列使用左侧的YAxis,另一个系列使用右侧的YAxis。我希望每个轴上的标签与其各自的系列具有相同的颜色。

我知道这可以通过手动分配颜色来完成,例如:

  yAxis: [
    {
      labels: {
        style: {
          color: "red"
        }
      }
    },
    {
      labels: {
        style: {
          color: "green"
        }
      }
    }
  ],
  series: [
    {
      color: "red",
      yAxis: 0,
      data: []
    },
    {
      color: "green",
      yAxis: 1,
      data: []
    }
  ]

但理想情况下,我不希望手动分配颜色。当您不指定任何颜色时,系列颜色将自动设置。我希望相应的轴标签具有相同的颜色。

1 个答案:

答案 0 :(得分:1)

要自动更改颜色,可以使用图表load事件并更新y轴:

chart: {
    events: {
        load: function() {
            this.series.forEach(function(s) {
                s.yAxis.update({
                    labels: {
                        style: {
                            color: s.color
                        }
                    }
                }, false);
            });

            this.redraw();
        }
    }
}

实时演示: http://jsfiddle.net/BlackLabel/u0myw5az/

API参考:

https://api.highcharts.com/highcharts/chart.events.load

https://api.highcharts.com/class-reference/Highcharts.Axis#update