如何比较D3折线图中的不同年份?

时间:2014-04-30 14:07:55

标签: svg d3.js

我有一个D3线图时间序列运作良好。

一行数据的示例:

var line1 = [
  ["2014-01-16 00:00:00",1719.2427  ],
  ["2014-01-17 00:00:00",2354.0256  ],
  ["2014-01-18 00:00:00",1940.5050  ],
  ["2014-01-19 00:00:00",2178.2483  ],
  ["2014-01-20 00:00:00",1767.8909  ],  

这给出了X值的日期和Y的点。

我想做的是能够在同一时间线上覆盖2013年的数据。尽管这样做会使图表进一步延伸回来。我想要的是让2013年的数据线与2014年的同一天相同。

目前我正在使用此日期并通过d3时间格式功能运行它。

    var parseDate = d3.time.format("%Y-%m-%d %H:%M:%S").parse;

有关做这样比较的任何建议吗?

1 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。正如评论中所指出的,您可以在解析的2013日期中添加1年。同样,您可以在解析之前在2013日期执行字符串替换。如果你不关心这一年,你可以在解析时忽略它:

var parseDate = d3.time.format("%m-%d %H:%M:%S").parse;
parseDate(line1[0][0].substr(5));

请注意,这将指定1900年,在标记轴时您可能需要考虑这一年。