2013-03-15 4 views
1

У меня есть данные, которые являются все временными рядами, поэтому ось x моего графика d3 всегда является временем. Мне нужно поддерживать несколько строк на одном графике, но разные строки могут иметь значительно разные области для данных оси y. Например, строка 1 может бытьd3: несколько строк одного и того же графика с различными доменами y?

1 2  3  4  5  for times 1-5 
5000 10000 15000 20000 25000 for times 1-5 

Что такое хороший способ попытаться справиться с этим в d3?

ответ

0

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

+0

Thanks Lars. 0s гарантированно будут в этом наборе данных в любое время, поэтому масштаб журнала не будет работать. Я рассмотрел единую шкалу y с min/max, но даже в этом случае мой пример имел бы почти непонятно малую линию для 1,2,3,4,5. – cdietschrun

+0

Вы можете добавить очень маленькое значение (0.001 или что-то в этом роде), чтобы избавиться от нулей и иметь возможность использовать шкалу журнала. Вы могли бы затем наметить это очень маленькое значение как квази-ноль. –

0

Вы считали, что укладываете два графика на одинаковые шкалы по оси X? Или для быстрого сравнения я иногда пересматриваю одну серию данных, чтобы довести ее до области другой, а затем запомните ее в легенде. «серия 1 (масштабирование по шкале x10)»

3

У вас могут быть две оси Y. Один в левой части графика и один справа.

В этом сообщении описывается настройка двухстрочного графика. http://www.d3noob.org/2013/01/adding-more-than-one-line-to-graph-in.html

И это сообщение описывает установку двух разных осей y для линий с аналогичной проблемой масштаба с той, которую вы описываете. http://www.d3noob.org/2013/01/using-multiple-axes-for-d3js-graph.html

Конечным результатом является что-то вроде этого. enter image description here