在D3

时间:2016-06-15 22:21:34

标签: javascript d3.js svg data-visualization

我有一个类似于this的多线图,其中每一行代表一个特定的年份,x轴代表该特定年份的天(e.g. Jan 1, Jan 2, ... Dec 31)

有些线路用于闰年,有些用于非闰年。对于非闰年行,我希望日期Feb 29不显示任何内容,即行中的间隙或空格。现在,我的数据集在null对象中有Feb 29。因此D3将该点视为0并将其一直延伸到底部(x轴)。

有没有办法实现空间排列?或者是否有针对此问题的解决方法?任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用line.definedhttps://github.com/d3/d3/wiki/SVG-Shapes#line_defined

根据API:

  

定义的访问器可用于定义行的定义和未定义的位置,这通常与缺少的数据结合使用。

如果您的行未定义,其值为null或NaN,请执行以下操作:

line.defined(function(d) { return !isNaN(d.x); });