0

我有一个应用程序每秒生成随机数据集,例如:

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"}]
.
.
.

因此,在特定秒,系统生成了一个新数据集,我们事先不知道其数据将出现的类,例如在第 2 秒,数据集包含 A 类和 B 类的数据,但在接下来的三秒内,B 类的数据没有出现,顺便说一句,这并不意味着 B 级的统计数据等于零。当特定数据集的数据没有出现时,根本不应该绘制它。

可视化这种不相交数据的最佳方法是什么?我正在考虑使用 d3.js 在实时多折线图的帮助下对其进行可视化,但 d3 会期望在特定实例中为每个类提供数据,否则它将显示为零,而当数据不存在时,它的线不应该完全被绘制。

4

1 回答 1

1

我会将其显示为点。在将数据传递给 d3 之前,对其进行重组,以便特定类的数据点一起在一个数组中。也就是说,将.data()一个数组数组传递给函数,其中顶级数组的第一个元素是一个数组,其中包含 Class_A 的数据,第二个元素是 Class_B 的数据,依此类推。

这样,您可以简单地绘制它们出现的点,而不必担心间隙。

于 2012-05-31T07:42:48.270 回答