我有一个应用程序,它每秒生成随机数据集,如:
Dataset 1:
[{time:"00:00:01",class:"Class_A",stats:"45"}]
Dataset 2:
[{time:"00:00:02",class:"Class_A",stats:"50"},{time:"00:00:02",class:"Class_B",stats:"45"}]
Dataset 3:
[{time:"00:00:03",class:"Class_A",stats:"30"}]
Dataset 4:
[{time:"00:00:04",class:"Class_A",stats:"60"}]
Dataset 5:
[{time:"00:00:05",class:"Class_A",stats:"50"}]
Dataset 6:
[{time:"00:00:06",class:"Class_A",stats:"10"},{time:"00:00:06",class:"Class_B",stats:"60"}]
.
.
.
因此,在特定的秒,系统会生成一个新的数据集,我们事先并不知道其数据会出现的类别,例如在第二个数据集中,数据集包含A类和B类数据,但是在接下来的三秒内,B类数据没有出现,顺便说一下这并不意味着B类的统计数据等于零。如果未显示特定数据集的数据,则根本不应绘制它。
可视化这种不相交数据的最佳方法是什么?我正在考虑使用d3.js在实时多线图的帮助下对其进行可视化,但d3将期望在特定实例中为每个类提供数据,否则它将显示为零,而当数据不存在时,其线不应该完全被吸引。
答案 0 :(得分:1)
我会将其显示为积分。在将数据传递给d3之前,重新组织它以使特定类的数据点在一个数组中。也就是说,向.data()
函数传递一个数组数组,其中顶级数组的第一个元素是一个数组,其中包含Class_A的数据,第二个元素用于Class_B,依此类推。
通过这种方式,您可以简单地绘制出现的点,而不必担心间隙。