HighCharts:如何格式化特定的标签列?

问题描述 投票:0回答:2

我需要在Highcharts条形图中显示标签值。可以使用dataLabels.Formatter功能实现。

但是当条形图的大小可调整时,标签会显示在条形图的内部,看起来不错。在某些情况下,与标签相比,条的尺寸非常小。

[请在此处查看密码笔,https://codepen.io/JGSpark/pen/YzzBydv?editors=1010

最后一个小条非常小,外面显示40条。由于color: 'white'通常用于所有标签,因此尽管在外部,但仍以白色显示。

如果显示标签,如何更改标签的颜色?

在此示例中,我需要将标签40的颜色更改为黑色。有什么建议吗?

css highcharts label
2个回答
1
投票

您需要添加自定义格式化程序,它将检查yAxis值的大小并相应地更改标签的颜色:

formatter: function() { 
    var max = this.series.yAxis.max,
    color = this.y / max < 0.05 ? 'black' : 'white'; // 5% width
    return '<p style="color: ' + color + '">' + this.y + ' M</p>';
},

0
投票

如果不是动态创建的图表,则可以为特定点设置dataLabels.color。

{
  y: 40,
  dataLabels: {
    color: 'black'
  }
}

Demo

API

© www.soinside.com 2019 - 2024. All rights reserved.