如何在Highcharts动态更改y轴的单位?

kam*_*aci 9 javascript jquery highcharts

如何在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";
                }
            }
        },
      ...
Run Code Online (Sandbox Code Playgroud)

我在这里问了一个问题:如何在highcharts中获得ay轴的最大值?关于如何获得y轴标签的最大值.但是我觉得我应该像beforeLoad和beforeRedraw方法一样.

如何动态更改y轴标签的单位(因为如果禁用/关闭右侧最大y轴标签更改系列)?

关于我的问题的其他解决方案是受欢

Ric*_*ann 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";
    }
}?
Run Code Online (Sandbox Code Playgroud)

你可以看到它在这里工作.