我正在处理省略周末数据的时间序列数据。在D3 v4中绘制这些时间序列时,图表会在周末进行插值。有关说明,请参阅以下URL(包括代码,数据和图形输出):
相反,我希望周末能有差距;图表在周五停止并在周一恢复。我可以通过创建周末的虚拟记录,使用值' NA'以及使用D3 $con = mysql_connect('localhost','ctollins1','Apples11');
$db = mysql_select_db('ctollins_TRTdesign', $con);
$sql="INSERT INTO USER (userName, userPassword)
VALUES
('$_POST[uname]','$_POST[pass]')";
if (!mysql_query($sql,$con))
{
die('Error!: ' . mysql_error());
}
echo "1 new client added";
mysql_close($con)
方法来解决问题,如下所示:
然而,生成虚拟记录对我来说就像是过度沉重的提升。当缺少时间序列记录时,有没有一种简单,自然的方法让D3留空?
答案 0 :(得分:0)
当缺少时间序列记录时,是否有一种简单,自然的方法让D3留空?
不幸的是不,这是时间尺度的正常行为。根据D3创造者Mike Bostock的说法,
当您希望将时间显示为连续的定量变量时,应使用d3时间刻度,例如当您想要考虑由于夏令时变化导致天数为23-25小时这一事实时,以及由于闰年,年数可能在365-366天之间。
因此,时间尺度的创建考虑到了连续的时间。
您在线路生成器中的当前方法......
.defined(function(d) { return !isNaN(d.value); })
...不起作用,因为CSV中的所有日期都有值,而d3会连接点。
如果您想要保持差距,只需在周末和null
使用虚拟记录(如line.defined
或任何非数字值),就像你的第二个链接一样。