23

我的 areaspline 图表的 Y 轴值高达大约 6000。Highcharts 自动将我的 Y 轴上的“000”部分更改为“k”。

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

这可能吗?如何?

4

2 回答 2

40

您可以通过以下方式显式覆盖withlang.numericSymbols*null执行此操作defaultOptions

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

文档内容如下

数字符号: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

于 2013-01-17T12:11:58.660 回答
0

根据@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;

此外,我宁愿使用 1.8 × 10¹⁴ 而不是 180 × 10¹²,但要好于难以阅读的 180000000000000。

于 2015-04-10T14:23:48.787 回答