我被困在一个项目中,该项目从包含一些空值的JSON数据中绘制一条线。
我在这里开始了一个小提琴:https://jsfiddle.net/scm60/pafs5x4m/
我在这里找到了一个可能的解决方案: In d3.js, skip append() for null data,建议添加
circle.filter(function(d) { return d == null; }).remove()
但这在我的例子中不起作用。
对此问题的任何建议?
答案 0 :(得分:0)
这里有三个问题:
首先,您没有名为circle
的选择。所以,让我们创建它:
var circle = svg.selectAll("circle")
.data(data)
//etc...
其次,在forEach
之后,您不再拥有gewicht
的空值,只有零。
第三,它必须是d.gewicht
,而不是d
:
circle.filter(function(d) {
return d.gewicht == 0;
})
.remove();
这是您更新的小提琴:https://jsfiddle.net/y25mLtue/
PS:如果你想删除归零(null)的行,你需要line.defined()
。这是小提琴:https://jsfiddle.net/97ao8v16/