1

如何重命名每个栏,我想要不同的名称。总是出现“bar1”、“bar2”等。这是系列的名称。但我希望它出现在那些我想自定义的文本的位置。这就是我所做的。输入不同的名称,如果有 9 个条,我想给条分配不同的名称,bar1、bar2、bar3、Bar4、Bar5、Bar6、Bar7、Bar8、Bar9。我不想在我的例子中重复。

在此处输入图像描述

series: [{
  name: 'bar1',
  data: [1000, 950, 920, 0, 850],
  color: "#FF0000"
}, {
  name: 'bar2',
  data: [800, 770, 750, 0, 730],
  color: "#000000"

}, {
  name: 'bar3',
  data: [600, 540, 535, 500, 30],
  color: "#00FF00"

},
 {
  name: 'bar4',
  data: [28, 28, 28, 28, 28],
  color: "#00FF00"

}]

http://jsfiddle.net/05L1n3wb/

4

2 回答 2

1

这是通过更改name: 'bar1'为您想要的内容来完成的。如果您仍然需要series.name成为“bar1”,那么您应该更加认真地考虑您的数据模型。如果要根据内容更改显示的文本,series.name可以使用标签格式化程序或 dataLabel 格式化程序。

于 2016-01-22T19:30:17.130 回答
0

正如您在之前的答案中所读到的,您可以使用 dataLabels 格式化程序来更改您为列显示的字符串:http: //api.highcharts.com/highcharts#plotOptions.bar.dataLabels.formatter

您可以将自定义参数添加到您的点,例如名称:

 series: [{
      name: 'bar1',
      data: [{
        y: 1000,
        name: 'bar1'
      }, {
        y: 950,
        name: 'bar5'
      }, {
        y: 920,
        name: 'bar9'
      }, {
        y: 0,
        name: 'bar13'
      }, {
        y: 850,
        name: 'bar17'
      }],
      color: "#FF0000"
    }]

在你的 dataLabels 格式化程序中,你可以显示这个参数:

  formatter: function() {
    var string = this.point.name + ' ';
    if (this.y <= 30) {
      string += this.y;
    }
    return string;
  }

示例:http: //jsfiddle.net/05L1n3wb/2/

于 2016-01-25T17:33:28.100 回答