我正在使用Highcharts来显示API中的数据。我想将yAxis标记为“千”,并将数字显示为一位。例如,我现在的图形标签为2k, 4k, 6k, 8k, 10k
,我想调整格式以仅显示2,4,6,8,10
我目前正在使用formatter:function () { }
返回我以前显示的2k,4k,6k...
2000,4000,6000...
,我在解决如何正确格式化数字以显示一位数字时遇到了问题。
我的预期结果是显示在左侧的yAxis标签显示2,4,6,8,10
这里是我的图表的jsfiddle。
这也是我的代码:
Highcharts.chart('container', {
chart: {
type: 'line'
},
title: {
text: 'Monthly Average Temperature'
},
subtitle: {
text: 'Source: WorldClimate.com'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
labels: {
formatter: function () {
return this.axis.defaultLabelFormatter.call(this);
}
},
title: {
text: 'Thousands'
}
},
plotOptions: {
line: {
dataLabels: {
enabled: false
},
enableMouseTracking: false
}
},
series: [{
name: 'Tokyo',
data: [3625, 4320, 4055, 4852, 5120, 6251, 7852, 8000, 9102, ]
}, {
name: 'London',
data: [2210, 3152, 3852, 4102, 4300, 4657, 6521, 7022, 7982]
}]
});
您可以将label.formatter回调与如下所示的逻辑一起使用以显示所需的格式。
演示:https://jsfiddle.net/BlackLabel/c0e2jwa6/
yAxis: {
labels: {
formatter() {
return this.value / 1000
}
},
title: {
text: 'Thousands'
}
},
https://api.highcharts.com/highcharts/yAxis.labels.formatter