Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何跳过D3中未定义的数据_Javascript_Charts_D3.js - Fatal编程技术网

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

Javascript 如何跳过D3中未定义的数据,javascript,charts,d3.js,Javascript,Charts,D3.js,所以我试着做一些类似于多折线图() 问题是我的数据有时没有定义 例如,在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会将它视为零,但我只

所以我试着做一些类似于多折线图() 问题是我的数据有时没有定义

例如,在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,然后比较两者。

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

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

我不知道你是如何绘制的,但是你没有使用.data(allTheCities)来遍历城市,allTheCities.forEach,然后为每个单独的数据块绘制

在此之前,我将为每个城市创建一个数据集,其中包含日期和城市,并使用筛选函数删除数据为空的行

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

这样更好吗

干杯


维托。

谢谢!如何绘制每个城市的数据?为每个城市创建多个文件?那我怎么把它们都放到D3脚本中呢?也许会有帮助。