20
我使用d3.js来绘制简单的线图。我想知道是否有办法在图表中创建“孔”,也就是说,如果在没有可用数据的情况下可以中断或切断该行。使用d3绘制不连续的线
我正在考虑删除我不需要的域名,或者在特定的段中将行权重设置为0,但我找不到任何一种方法。
感谢您的帮助!
我使用d3.js来绘制简单的线图。我想知道是否有办法在图表中创建“孔”,也就是说,如果在没有可用数据的情况下可以中断或切断该行。使用d3绘制不连续的线
我正在考虑删除我不需要的域名,或者在特定的段中将行权重设置为0,但我找不到任何一种方法。
感谢您的帮助!
D3 line发电机有一个内置函数来做到这一点,line.defined。你可以使用这个函数来控制你的行的定义和不在的位置(比如你缺少数据的地方)。如果你想让你的行在undefined数组中的第二个值是一个javascript NaN值的时候没有定义,你可以说:
line.defined(function(d) { return !isNaN(d[1]); });
Here是一个很好的例子,在行动。
你的例子不会工作(如预期的),因为如果'd'是'null',函数将永远不会被调用,或者不能确定未定义的位置在哪里(例如在x轴上)。在代码中使用的代码是'return d.y!= null'。 – Rouby 2015-03-09 13:37:05
谢谢@Rouby。我已经从API文档的当前示例更新了答案。 – Josh 2015-03-09 22:37:44