dygraphs диапазон оси x по умолчанию

Диапазон оси X Dygraphs по умолчанию выглядит следующим образом: [первое значение x, последнее значение x], а не [минимальное значение x, максимальное значение x]. Это преднамеренно? Я не видел ничего, что говорило бы о том, что ваши входные данные должны быть отсортированы, и я не нашел способа установить диапазон оси x, как это делает «valueRange» для осей y.

Бывший. входные данные:

[[5,1,2,3],
 [2,4,5,6],
 [3,7,8,9],
 [4,1,5,9],
 [5,5,5,5]]

Значения x варьируются от [2,5], но мой Dygraph всегда отображается с осью x в [5,5]. Я попытался установить параметр следующим образом, но он не работает, предположительно потому, что «valueRange» определен только для высоты по вертикали:

{
  axes: {
    x: {
      valueRange: [2,5]
    }
  }
}

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


person persephone    schedule 16.04.2015    source источник


Ответы (1)


dygraphs ожидает, что его ввод будет отсортирован. Я удивлен, что он не регистрирует предупреждение об этом (см. issue 584). Если вы нарушите ожидания относительно формата ввода, гарантий нет. Я ожидаю, что многие из методов диграфов потерпят неудачу с этим вводом.

Итак, сортируйте свои данные! Это не должно быть большой «проблемой» — каждый язык программирования имеет встроенные инструменты для сортировки списков.

Чтобы ответить на ваш другой вопрос, вы можете использовать опцию dateWindow со странным названием, чтобы указать ось X. диапазон (т.е. домен):

g = new Dygraph(div, data, { dateWindow: [2, 5] });
person danvk    schedule 16.04.2015
comment
Спасибо! Вариант «dateWindow» был тем, что мне было нужно. Сортировка не была идеальным решением, поскольку порядок моих входных данных имел значение, и отследить его в другом месте было не так просто, как просто настроить диапазон осей. - person persephone; 16.04.2015
comment
И нет - я не получил предупреждений о несортированном вводе. Ускорил бы процесс отладки! - person persephone; 16.04.2015
comment
Если вы не сортируете свой ввод, вы должны ожидать, что все и вся сломается странным образом. Вы были предупреждены. - person danvk; 17.04.2015