替换/删除公制符号,如千位“k”缩写

时间:2013-01-17 11:35:44

标签: highcharts highstock

我的areapline图表的Y轴值最高约为6000.Highcharts会自动更改Y轴上的“000”部分为“k”。

由于我是法国人并且该网站应该使用相同的语言,因此这个“k”缩写在我的案例中没有意义,我希望有一个随意的“000”显示而不是它。

这可能吗?怎么样?

2 个答案:

答案 0 :(得分:32)

您可以通过null中的defaultOptions明确覆盖 lang.numericSymbols* 来执行此操作,如下所示

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

文件内容如下

  

numericSymbols:Array<String>

     

Metric prefixes用于缩短轴标签中的高位数。   用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;
        }
    }
}

<强> Disabling metric notation on axis values | Highchart & Highstock (v1.2+) @ jsFiddle
Disabling metric notation on axis values | Highchart & Highstock (old versions) @ jsFiddle

答案 1 :(得分:0)

基于@Jugal-Thakkar的回答,我实施了:

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

上标0和4-9仅为UTF-8字符。您需要指定支持这些字体的字体,否则您将遇到字体替换问题,如Why the display of Unicode characters for superscripted digits are not at the same height?中所述。

我用:

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

另外,我宁愿1.8×10 15比180×10 12,但要好于180000000000000,这很难读。