首页 > 解决方案 > Y轴标签和系列颜色相同

问题描述

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

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

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

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

标签: highcharts

解决方案


要自动更改颜色,您可以使用图表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


推荐阅读