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

时间:2012-09-06 21:26:06

标签: 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";
                }
            }
        },
      ...

我在这里问了一个问题:How can I get the max value of a y axis at highcharts?关于如何获得y轴标签的最大值。但是我想我应该像beforeLoad和beforeRedraw方法一样。

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

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

1 个答案:

答案 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