我正在尝试使用Mike Bostock的代码在here上使用画笔实现时间轴。
我可以在CodePen链接上的here上找到我的代码。
在函数drawTimeline
中,我定义了一个变量数据(来自第19-23行),它接收了.csv
文件的前七个值。我遇到的问题是,即使代码在我对可变数据进行硬编码时工作正常(在第24行),当我通过推入我创建的数组中的前七个值来使用它时,它也不起作用。我已经使用console.log
来打印外部的值,它们的格式与我硬编码的格式相同,但是在csv派生数组的情况下时间轴没有显示任何内容。有人可以帮忙解决这个问题吗?
谢谢!
答案 0 :(得分:2)
您的时间表 有效。问题只是时间跨度。
当您对数据进行硬编码时,您拥有此域名(我在澳大利亚,根据您所在的时区,您可能会看到不同的时间):
[Fri Jan 19 2018 20:36:02 GMT+1100, Thu Jan 25 2018 20:36:02 GMT+1100]
此域名在时间跨度内差不多有一周。另一方面,当您按下前7个值时,这就是域:
[Tue Mar 06 2018 21:52:42 GMT+1100, Tue Mar 06 2018 23:55:30 GMT+1100]
如你所见,只需几个小时。但它是一个正确的域,所以图表应该工作。这里发生了什么?
问题在于您将此设置为刻度:
.ticks(d3.timeDay)
显然,该域名只有几个小时,而不是几天。
解决方案:
删除ticks
方法。
以下是更新的CodePen:https://codepen.io/anon/pen/eMxzGM?editors=0010