我有数据是所有时间序列,所以我的d3图的x轴始终是时间。我需要支持在一张图上有多条线,但不同的线对于y轴数据可能具有截然不同的域。例如,第1行可以是d3:具有不同y域的多行相同图形?
1 2 3 4 5 for times 1-5
5000 10000 15000 20000 25000 for times 1-5
在d3中尝试处理此问题的好方法是什么?
我有数据是所有时间序列,所以我的d3图的x轴始终是时间。我需要支持在一张图上有多条线,但不同的线对于y轴数据可能具有截然不同的域。例如,第1行可以是d3:具有不同y域的多行相同图形?
1 2 3 4 5 for times 1-5
5000 10000 15000 20000 25000 for times 1-5
在d3中尝试处理此问题的好方法是什么?
如果你没有y值的零,我会推荐log scale。无论如何,只需创建一个范围从所有行的最小值到最大值的单个y范围,并将其用于所有行。
你有没有考虑在相同的x轴秤上堆叠两张图?或者为了进行快速比较,我有时会重新缩放一个数据序列,使其进入另一个数据序列的域,然后在图例中记下它。 “系列1(x10缩放)”
您可以有两个独立的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
最终的结果是这样的。
谢谢拉尔斯。 0随时保证在这个数据集中,所以日志规模将不起作用。我已经考虑过最小/最大的单个y比例尺,但即便如此,我的例子中1,2,3,4,5也会有一条近乎难以理解的小线。 – cdietschrun 2013-03-15 19:46:10
你可以添加一个非常小的值(0.001或类似的东西)来摆脱零,并能够使用日志比例。然后,您可以将这个非常小的值标记为准零点。 – 2013-03-15 19:49:34