Javascript 根据D3.js中的数据可用性删除当前元素
我有一种方法,可以根据d3中绘制的一组圆提供的数据更新填充样式: 我的问题是,我能简单地这样做吗?在最后一个else子句中删除,而不返回任何内容来删除d3图形中的圆?或者,我是否需要先为圆设置颜色,然后在nodes.style…(例如nodes.filterfunction)之后使用一些选择将其删除{ 返回this.style.fill==“someColor”; }.data[]。退出。删除Javascript 根据D3.js中的数据可用性删除当前元素,javascript,d3.js,Javascript,D3.js,我有一种方法,可以根据d3中绘制的一组圆提供的数据更新填充样式: 我的问题是,我能简单地这样做吗?在最后一个else子句中删除,而不返回任何内容来删除d3图形中的圆?或者,我是否需要先为圆设置颜色,然后在nodes.style…(例如nodes.filterfunction)之后使用一些选择将其删除{ 返回this.style.fill==“someColor”; }.data[]。退出。删除 这里的正确方法是什么?这实际上不是处理数据的D3方法,但原则上删除这样的元素没有问题。也就是说,您应该
这里的正确方法是什么?这实际上不是处理数据的D3方法,但原则上删除这样的元素没有问题。也就是说,您应该能够从发布的函数中运行d3.selectthis.remove 不过,我建议重构代码,以便使用通常的输入/更新/退出模式识别要删除的元素
function updateFill(data) {
nodes.style("fill", function(d) {
var latest = data[d.id];
if (latest === 1) {
return "#000000";
} else if (latest === 2) {
return "#ffffff";
} else if (latest === 3) {
return "#d3d3d3";
} else {
// no data available, remove the current element/circle
}
}
}