我遇到了格式化程序方法没有从数组中获取所有数据的问题。例如:
var test = [1234, 4567, 1564, 7899];
chartData.plotOptions.series.datalabels.formatter = function () {
for (var i = 0; i < test.length; i++) {
// formatNumber() is a dummy method in this example
return formatNumber(test[i]);
}
};
After the loop, the datalabel only shows the first index data on each segment of bar chart.
结果只返回第一个索引。我不确定为什么它不遍历整个数组。有人可以给我一些帮助吗?
最佳答案
您的代码将在 for
循环的第一次迭代后返回
,这就是您只看到第一个索引的原因。
也就是说,formatter
是一个应用于每个数据点的回调,因此您不需要遍历测试值。你应该尝试这样的事情:
chartData.plotOptions.series.datalabels.formatter = function() {
return formatNumber(this.y);
}
引用formatter
documentation可供使用的数据。
关于Javascript Highcharts : series datalabel formatter function to loop data not formatting all data form the array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31014969/