#javascript #dygraphs
#javascript #диграфы
Вопрос:
Что я хотел бы иметь: график графиков с обратной осью y, как показано в примере документации: https://github.com/danvk/dygraphs/blob/master/tests/reverse-y-axis.html за исключением того, что я хотел бы, чтобы значение y-max (теперь внизу) было динамическим, чтобы его значение было равно максимальному значению данных при масштабировании.
Я попытался установить диапазон значений как valueRange: [ , 0]
вместо valueRange: [ 3000, 0]
(который отлично работает для не обращенной оси y).
Но в примере с обратной осью y это дает:
Оригинал с фиксированной обратной осью y valueRange: [ 3000, 0]
был таким:
Я мог бы попробовать добавить прослушиватель масштабирования, а затем после каждого масштабирования установить valueRange:
[ max_value, 0 ]
значение, где max_value для этого конкретного масштабирования. Но мне бы очень хотелось более простого / чистого решения, если оно существует.
Любые предложения приветствуются! Спасибо!
Ответ №1:
Чтобы решить, следует ли перевернуть ось y, dygraphs проверяет, больше ли минимальное значение y, чем максимальное значение y. Если вы не укажете его, он не сможет этого сделать, так что это не сработает.
Вероятно, самым простым решением является перевернуть ось y после загрузки данных:
g = new Dygraph(div, data, options);
g.ready(() => {
const [minY, maxY] = g.yAxisRange();
// Change either of these to a hard-coded value as you wish:
g.updateOptions({valueRange: [maxY, minY]});
});
Полный пример здесь.