Plotly JS: формат номера локали с использованием valueformat

#plotly

#plotly

Вопрос:

У меня есть gauge number delta диаграмма в plotly.js .

 var data = [
  {
    domain: { x: [0, 1], y: [0, 1] },
    value: 1550,
    title: { text: "Speed" },
    type: "indicator",
    mode: "gauge number delta",
    delta: { reference: 250, valueformat: ',.'   2   "f", },
    gauge: { axis: { range: [null, 500] } },
    number: { valueformat: ',.'   2   "f",}
  }
];
  

Должна быть возможность форматировать все номера диаграммы. Мне нужно:

  • Количество десятичных знаков
  • Десятичный разделитель
  • Разделитель тысяч

Насколько я знаю, единственный способ сделать это в plotly — использовать valueformat . К сожалению, я не могу найти никакой документации или руководства относительно этого свойства.

Итак, довольно просто отформатировать количество десятичных знаков:

 var numberOfDecimals = 2;
valueformat: '.'   numberOfDecimals    "f" // 6789.12345 ---> 6789.12
  

Это также работает довольно хорошо, когда я добавляю разделитель тысячи , :

 var numberOfDecimals = 2;
valueformat: ',.'   numberOfDecimals    'f' // 6789.12345 ---> 6789.12345
  

Но моя главная проблема заключается в том, что я не могу поменять местами десятичный и тысячный разделители.
Например, чтобы получить формат немецкого номера.

Таким образом, замена , и . ничего не делает.

 var numberOfDecimals = 2;
valueformat: '.,'   numberOfDecimals    "f" // 6789.12345 ---> 6,789.12
  

Кто-нибудь может объяснить, как я могу архивировать динамическое форматирование своих чисел в Plotly, используя десятичный разделитель, разделитель тысяч и количество десятичных знаков?

Пример Codepen:
https://codepen.io/michaelkonstreu/pen/yLJVXdb

Комментарии:

1. Недостаточно ли использовать свойство layout.separators? plotly.com/javascript/reference/layout/#layout-separators

Ответ №1:

 var layout = { width: 600, height: 400,     separators : ',.', };
  

И это работает в вашем коде.