Highcharts-如果条形图上没有足够的空间,则更改文本的颜色

Highcharts-如果条形图上没有足够的空间,则更改文本的颜色,highcharts,Highcharts,我目前正在使用条形图显示我的数据。在这个div中,我的条形图的宽度为50%。如果条形图的百分比对于宽度来说太大,则条形图本身会显示显示百分比(如10%)的条形图旁边的文本。这很好,但使用和条形图相同的颜色css。在这种情况下,很难读取百分比 我希望百分比使用与条形图相同的颜色,但只有在这种情况下,才能将文本更改为白色吗 以下是一个照片示例: 下面是我使用plotOptions plotOptions: { bar: { dataLabels: { ena

我目前正在使用条形图显示我的数据。在这个div中,我的条形图的宽度为50%。如果条形图的百分比对于宽度来说太大,则条形图本身会显示显示百分比(如10%)的条形图旁边的文本。这很好,但使用和条形图相同的颜色css。在这种情况下,很难读取百分比

我希望百分比使用与条形图相同的颜色,但只有在这种情况下,才能将文本更改为白色吗

以下是一个照片示例:

下面是我使用
plotOptions

  plotOptions: {
    bar: {
      dataLabels: {
        enabled: true,
        formatter: function() {
          return ` <span style="color:${this.color};">${this.y} %</span>`;
        }
      }
    }
  },
plotOptions:{
酒吧:{
数据标签:{
启用:对,
格式化程序:函数(){
返回`${this.y}%`;
}
}
}
},

这里有一个链接,指向重新创建问题的JSFIDLE:

我认为更好的办法是在初始化后更改dataLabels的颜色,这将为我们提供有关其位置的信息

演示:


API:

@Sebestian感谢您的回复,它确实达到了我的目的,但它确实删除了没有职位问题的百分比的文本颜色。有没有办法做到这两个方面?如果文本不在条内,请将颜色设置为条的原始颜色,如果文本在条内,请将颜色设置为白色。目前,在您提供的JSFIDLE链接中,所有其他文本颜色都是black@stepheniok将
load
回调更改为
render
回调应该会更改它。查看演示:
events: {
    load() {
        let chart = this;
        
        chart.series[0].points.forEach(p => {
            if (p.dataLabel.alignOptions.align !== "right") {
                p.dataLabel.css({
                    color: p.color
                })
            }
        })
    }
}