c3.js Как я могу считывать максимальные и минимальные значения осей?

#javascript #c3.js

Вопрос:

Мне нравится автоматическое масштабирование для оси y, предлагаемое в c3, но я хотел бы иметь возможность извлекать значения max и min, которые он выбирает. В моем случае мне нужна шкала Цельсия по оси y и эквивалентная шкала Фаренгейта по оси y2. Кажется, что

 console.log(chart.axis.range());
console.log(chart.axis.max());
 

следует вывести (в журнале консоли) нужные мне числа, чтобы я мог преобразовать их в градусы Фаренгейта и получить шкалу y2. К сожалению, я получаю неопределенные значения.

 {x: undefined, y: undefined, y2: undefined}
x: undefined
y: undefined
y2: undefined
__proto__: Object
 

Если я ранее установил максимальные или минимальные значения для оси, то они определены, но я хотел бы получить значения автоматического масштабирования.

Я бы предпочел не использовать обходной путь, когда я сканирую значения y данных для максимального и минимального значений, а затем вычисляю свои собственные значения без автоматического масштабирования.

Спасибо,

Пол

Ответ №1:

Это работает на меня, чтобы получить минусы и максимумы:

    // First make sure that they are defined, otherwise
   // they can show up as undefined.
   chart.axis.range({max: {x: 4, y: 5}, min: {x: 2, y: 3}});

   var axis = chart.axis;  // Shorthand. reference to axis.
   // display them:
   console.log(
       "    x min: "   axis.min()['x']  
       "    x max: "   axis.max()['x']  
       "    y min: "   axis.min()['y']  
       "    y max: "   axis.max()['y']
   );