一つではなく、精巧な方法は、数値で軸のために彼らの内部defaultLabelFormatter
に使用するコードHighchartsを再利用、および軸フォーマッタでそれを使用することです。
本の例、追加したプレフィックス(JSFiddle)で:
yAxis: {
labels: {
formatter: function() {
var numericSymbols = Highcharts.getOptions().lang.numericSymbols;
var i = numericSymbols && numericSymbols.length;
var numericSymbolDetector = this.axis.isLog ? this.value : this.axis.tickInterval;
var UNDEFINED, ret, multi;
while (i-- && ret === UNDEFINED) {
multi = Math.pow(1000, i + 1);
if (numericSymbolDetector >= multi && (this.value * 10) % multi === 0 && numericSymbols[i] !== null) {
ret = Highcharts.numberFormat(this.value/multi, -1) + numericSymbols[i];
}
}
if (ret === UNDEFINED) {
if (Math.abs(this.value) >= 10000) {
ret = Highcharts.numberFormat(this.value, -1);
} else {
ret = Highcharts.numberFormat(this.value, -1, UNDEFINED, '');
}
}
return "$"+ret; // Adding the prefix
}
},
}
この実験の短い形式は、それが必要とするコンテキストの要部でdefaultLabelFormatter
を呼び出すことであろう。この例(JSFiddle):コンテキストとして
yAxis: {
labels: {
formatter: function() {
return "$" + this.axis.defaultLabelFormatter.call({
axis: this.axis,
value: this.value
});
}
},
}
は、それはあなたの軸がdatetime
かcategories
または多分対数た場合は期待どおりに動作しないだろうが、数値軸のために働く必要が不完全です。完全な画像のために、私は完全なdefaultLabelFormatter
の実装を見てみることをお勧めします。
あなたはMM' 'にそれをカスタマイズしたことがありますか?私はそれが万人のために「M」であると期待しますか? –
解決策のいずれかが役に立った場合は、同じ問題に遭遇した人々が簡単に見つけることができるように答えとしてマークしてください。 –