web-dev-qa-db-ja.com

数千の「k」略語などのメートル法表記の置き換え/削除

私のareasplineチャートのY軸の値は最大約6000です。Highchartsは、Y軸の「000」の部分を「k」に自動的に変更します。

私はフランス語で、サイトは同じ言語であることが意図されているため、この「k」の省略形は私の場合は意味がなく、代わりにカジュアルな「000」を表示したいと思います。

これは可能ですか?どうやって?

21

これを行うには、次のように、lang.numericSymbols*nulldefaultOptionsで明示的にオーバーライドします。

Highcharts.setOptions({
    lang: {
        numericSymbols: null //otherwise by default ['k', 'M', 'G', 'T', 'P', 'E']
    }
});

ドキュメントは次のようになります

numericSymbols:Array<String>

メトリックプレフィックス 軸ラベルの高い数値を短縮するために使用されます。いずれかの位置をnullに置き換えると、完全な数値が書き込まれます。 numbericSymbolsをnullに設定すると、短縮が完全に無効になります。デフォルトは['k'、 'M'、 'G'、 'T'、 'P'、 'E']です。

** v1.2.0から正式に入手可能(2012-08-24)
サフィックスがハードコーディングされていたため、v1.2.0より前では機能しません。*

代替ソリューション

(フォーマッタをサポートするすべてのバージョンで動作するはずです)

yAxis.labels.formatterを使用して、値をそのまま返します

yAxis: {
    labels: {
        formatter: function () {
            return this.value;
        }
    }
}

軸値のメートル法表記を無効にする| Highchart&Highstock(v1.2 +)@ jsFiddle
軸値のメートル法表記を無効にする| Highchart&Highstock(旧バージョン)@ jsFiddle

33
Jugal Thakkar

@ Jugal-Thakkarの回答に基づいて、私は以下を実装しました。

numericSymbols: [' × 10³', ' × 10⁶', ' × 10⁹', ' × 10¹²', ' × 10¹⁵', ' × 10¹⁸'],

上付き文字0および4-9はUTF-8文字のみです。これらをサポートするフォントを指定する必要があります。そうしないと、 上付き数字のUnicode文字の表示が同じ高さにならないのはなぜですか? で説明されているように、フォント置換の問題が発生します。

私が使う:

font-family: Lucida Sans Unicode, Arial Unicode MS, Cambria, Calibri, Consolas;

また、180×10¹²よりも1.8×10¹⁴の方がいいのですが、読みにくい180000000000000よりはましです。

0
R. Schreurs