如何在D3中跳过未定义的数据

时间:2013-09-11 10:18:04

标签: javascript charts d3.js

所以我想尝试做多线图(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并比较两个..

1 个答案:

答案 0 :(得分:1)

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

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

我不确定你是如何绘制它的,但不是让.data(allTheCities)你通过城市,所有TheCities.forEach,然后为每个单独的数据做绘图。

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

你可以创建一个3 tsv或打开那个并将数据操作为三个不同的集合。

这样更好吗?

干杯。

的Vitor。