9

如何在 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";
                }
            }
        },
      ...

我在这里问了一个问题:如何在 highcharts 上获得 ay 轴的最大值?关于如何在 y 轴标签处获得最大值。但是我认为我应该有一些像 beforeLoad 和 beforeRedraw 方法。

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

欢迎其他关于我的问题的解决方案。

4

1 回答 1

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";
    }
}​

你可以看到它在这里工作

于 2012-09-06T21:48:31.987 回答