D3.js 时间序列中未出现间隙
我正在处理忽略周末数据的时间序列数据。在D3 v4中绘制这些时间序列时,该图会在周末进行插值。有关说明(包括代码、数据和图形输出),请参见以下URL: 相反,我希望在周末有一个空档;星期五停止,星期一恢复 我可以通过为周末创建虚拟记录(值为“NA”)并使用D3D3.js 时间序列中未出现间隙,d3.js,D3.js,我正在处理忽略周末数据的时间序列数据。在D3 v4中绘制这些时间序列时,该图会在周末进行插值。有关说明(包括代码、数据和图形输出),请参见以下URL: 相反,我希望在周末有一个空档;星期五停止,星期一恢复 我可以通过为周末创建虚拟记录(值为“NA”)并使用D3defined方法来解决此问题,如下所示: 然而,生成虚拟记录对我来说就像是过重的工作。当时间序列记录丢失时,是否有一种简单、自然的方法让D3留下间隙 当时间序列记录丢失时,是否有一种简单、自然的方法让D3留下间隙 不幸的是,不,这是时
defined
方法来解决此问题,如下所示:
然而,生成虚拟记录对我来说就像是过重的工作。当时间序列记录丢失时,是否有一种简单、自然的方法让D3留下间隙
当时间序列记录丢失时,是否有一种简单、自然的方法让D3留下间隙
不幸的是,不,这是时间尺度的正常行为。据D3的创建者迈克·博斯托克说
当您希望将时间显示为连续的定量变量时,应使用d3时间刻度,例如,当您希望考虑到由于夏令时的变化,天数可能在23-25小时之间,而由于闰年,年份可能在365-366天之间
因此,时间尺度是在考虑连续时间的情况下创建的
您当前在线路生成器中的方法
.defined(function(d) { return !isNaN(d.value); })
。。。不起作用,因为CSV中的所有日期都有值,d3将连接点
话虽如此,如果您想保持间隙,只需在周末和行中使用虚拟记录(如null
或任何非数字值)。定义的
,如在第二个链接中
当时间序列记录丢失时,是否有一种简单、自然的方法让D3留下间隙
不幸的是,不,这是时间尺度的正常行为。据D3的创建者迈克·博斯托克说
当您希望将时间显示为连续的定量变量时,应使用d3时间刻度,例如,当您希望考虑到由于夏令时的变化,天数可能在23-25小时之间,而由于闰年,年份可能在365-366天之间
因此,时间尺度是在考虑连续时间的情况下创建的
您当前在线路生成器中的方法
.defined(function(d) { return !isNaN(d.value); })
。。。不起作用,因为CSV中的所有日期都有值,d3将连接点
话虽如此,如果您想保持间隙,只需在周末使用虚拟记录(如
null
或任何非数字值),并在第二个链接中定义行。在我看来,您的方法不会在周末生成间隙。或者我遗漏了什么?事实上,它生成的图表没有周末的间隙。如果需要间隙,只需使用null
和line.defined
,如第二幅图像所示。因为你想保持差距,我编辑了答案。在我看来,你的方法在周末不会产生差距。或者我遗漏了什么?事实上,它生成的图表没有周末的间隙。如果需要间隙,只需使用null
和line.defined
,如第二幅图像所示。因为你想保持差距,我编辑了答案。