1

所以我正在尝试做类似多线图(http://bl.ocks.org/mbostock/3884955)的事情是我的数据有时没有定义。

因此,例如在 data.tsv 中:

date    New York  San Francisco   Austin
20111001    63.4      62.7          72.2
20111002    null      59.9          67.7
20111003    53.3      59.1          69.4

所以有时有些价值观是不存在的。如果我根本不包括它,D3 将它视为零,但我只想跳过它(从 63.4 画线到 53.3 跳过两者之间的内容)。我正在使用来自 bl.ocks 的代码而没有任何更改,那么我需要更改什么来实现这一点?

另一个问题:

我将如何为每个城市做复选框,以便只有选定的城市出现在图表上?

编辑:发现 HighCharts 完全符合我的要求。我也会看看D3并比较两者..

4

1 回答 1

2

这可能不是一个合适的解决方案(因为您可能想用圆形或其他东西装饰数据点)但是如果您只有直线,为什么不在 63.4 和 53.3 之间做一个中间点,那么两者之间似乎没有什么。

其他选项是让您绘制每个城市的数据,因此对于纽约的案例,您将没有 20111002 的日期。我认为如果您可以这样做,这是最好的。

我不确定你是如何绘制这个的,但是你没有让 .data(allTheCities) 在城市中循环,allTheCities.forEach 然后为每个单独的数据块绘制。

在此之前,我会为每个城市创建一个包含日期和城市的数据集,并使用过滤器函数删除数据为空的行。

您可以创建 3 个 tsv,也可以打开那个并将数据处理成三个不同的集合。

这是否更好?

干杯。

维托。

于 2013-09-11T10:23:47.983 回答