如何在Highcharts动态更改y轴上的单位?
我有一个y轴的格式化程序:
yAxis:{
title:{
text:'Custom Title'
},
labels: {
formatter: function () {
var maxElement;//I want to set it to max value at y axis labels
if(maxElement > gb){
return (this.value / gb).toFixed(1) + " GB";
}else if(maxElement > mb){
return (this.value / mb).toFixed(1) + " MB";
}else if(maxElement > kb){
return (this.value / kb).toFixed(1) + " KB";
} else {
return (this.value) + " B";
}
}
},
...
我在这里问了一个问题:How can I get the max value of a y axis at highcharts?关于如何获得y轴标签的最大值。但是我想我应该像beforeLoad和beforeRedraw方法一样。
如何动态更改y轴标签的单位(因为如果禁用/关闭右侧最大y轴标签更改系列)?
欢迎关于我的问题的其他解决方案。
答案 0 :(得分:10)
在这种情况下,您可以通过以下行获取max
:
this.axis.max;
所以你的功能应该是:
formatter: function() {
var maxElement = this.axis.max;
if (maxElement > gb) {
return (this.value / gb).toFixed(1) + " GB";
} else if (maxElement > mb) {
return (this.value / mb).toFixed(1) + " MB";
} else if (maxElement > kb) {
return (this.value / kb).toFixed(1) + " KB";
} else {
return (this.value) + " B";
}
}
您可以看到 working here 。