我有一个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;
有关做这样比较的任何建议吗?
答案 0 :(得分:2)
有几种方法可以做到这一点。正如评论中所指出的,您可以在解析的2013日期中添加1年。同样,您可以在解析之前在2013日期执行字符串替换。如果你不关心这一年,你可以在解析时忽略它:
var parseDate = d3.time.format("%m-%d %H:%M:%S").parse;
parseDate(line1[0][0].substr(5));
请注意,这将指定1900年,在标记轴时您可能需要考虑这一年。