如何在没有数据预处理的情况下在d3.js中渲染具有稀疏数据的数组的线图

时间:2015-02-04 21:29:16

标签: javascript d3.js

这个问题可以通过预处理数据来解决(例如插入空值和使用d3.js的line.defined()函数),但我正在寻找不需要数据预处理的解决方案。 / p>

我们说我们有一系列对象:

 {time_stamp: "2014-10-05 10:15:00", value: 45}
 {time_stamp: "2014-10-05 10:30:00", value: 50}
 {time_stamp: "2014-10-05 10:45:00", value: 30}
 {time_stamp: "2014-10-05 12:30:00", value: 23}
 {time_stamp: "2014-10-05 12:45:00", value: 28}
 {time_stamp: "2014-10-05 13:00:00", value: 42}
 {time_stamp: "2014-10-06 10:15:00", value: 45}
 {time_stamp: "2014-10-06 10:30:00", value: 50}
 {time_stamp: "2014-10-06 10:45:00", value: 30}
 {time_stamp: "2014-10-06 12:30:00", value: 23}
 {time_stamp: "2014-10-06 12:45:00", value: 28}
 {time_stamp: "2014-10-06 13:00:00", value: 42}

正如您所看到的那样,数据分散在时间线上,大部分时间都没有数据。我试图使用line绘制这些值,这当然会连接" end"每个"迷你系列"的分数。 X比例定义为:

d3.time.scale().....

因此它涵盖整个域名而没有任何问题。

问题(以及我提出这个问题的原因)是数据跨越多年,所以每隔15分钟生成一个空值就是很多数据。此外,这只是应用程序中显示的一种数据类型,其他数据类型显着减少了#34;缺失"值。

所以,问题是,有没有办法在不需要数据预处理的情况下绘制这样的数组呢?

0 个答案:

没有答案