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

ここで質問しました:ハイチャートでay軸の最大値を取得するにはどうすればよいですか?y軸ラベルで最大値を取得する方法について。ただし、beforeLoadメソッドやbeforeRedrawメソッドのようなsthが必要だと思います。

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 に答える