【问题标题】:d3: multiple lines same graph with varying y domains?d3:具有不同y域的多条线相同的图?
【发布时间】:2013-03-15 19:33:23
【问题描述】:

我有所有时间序列的数据,所以我的 d3 图表的 x 轴始终是时间。我需要支持在一张图上有多条线,但不同的线对于 y 轴数据可以有截然不同的域。例如第 1 行可以是

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

在 d3 中尝试处理此问题的好方法是什么?

【问题讨论】:

    标签: javascript d3.js graphing


    【解决方案1】:

    你可以有两个独立的 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

    最终结果是这样的。

    【讨论】:

      【解决方案2】:

      如果 y 值没有零,我会推荐 log scale。在任何情况下,只需创建一个范围从所有行的最小值到最大值的单个 y 刻度,并将其用于所有内容。

      【讨论】:

      • 谢谢拉斯。 0s 保证在任何时候都在这个数据集中,所以对数刻度不起作用。我已经考虑了带有最小值/最大值的单个 y 刻度,但即便如此,我的示例对于 1、2、3、4、5 会有一条近乎难以理解的小线。
      • 您可以添加一个非常小的值(0.001 或类似的值)来消除零并能够使用对数刻度。然后,您可以将这个非常小的值标记为准零。
      【解决方案3】:

      您是否考虑过在相同的 x 轴刻度上堆叠两个图?或者为了快速比较,我有时会重新缩放一个数据系列以将其带入另一个领域,然后在图例中注明。 “系列 1(x10 缩放)”

      【讨论】:

        猜你喜欢
        • 2017-07-31
        • 2019-07-24
        • 1970-01-01
        • 2012-06-13
        • 2014-03-19
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多