Замена/удаление метрических обозначений, таких как сокращение "k" тысяч - программирование
Подтвердить что ты не робот

Замена/удаление метрических обозначений, таких как сокращение "k" тысяч

Моя диаграмма диаграмм области имеет значения оси Y до приблизительно 6000. Экранные диаграммы автоматически меняют часть "000" на моей оси Y для "k".

Поскольку я французский, и сайт должен быть на том же языке, эта аббревиатура "k" не будет иметь смысла в моем случае, и я бы хотел иметь случайный "000" дисплей вместо него.

Возможно ли это? Как?

4b9b3361

Ответ 1

Вы можете сделать это, явно переопределяя lang.numericSymbols* с null в defaultOptions как следует

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

Документация читается следующим образом

numericSymbols: Array<String>

Метрические префиксы, используемые для сокращения больших чисел в меток осей. Замена любой позиции с нулевым значением приводит к тому, что полный номер написано. Установка numicSymbols в значение 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

Ответ 2

Основываясь на ответе @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, что трудно читать.