gpt4 book ai didi

javascript - 根据 D3.js 中的数据可用性删除当前元素

转载 作者:行者123 更新时间:2023-12-02 18:03:31 24 4
gpt4 key购买 nike

我有一个方法可以更新 fill基于 d3 中绘制的一堆圆圈提供的数据的样式:

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
}
}
}

我的问题是,我可以简单地做 this.remove()决赛里面else子句(不返回任何内容)删除 d3 上的圆圈图形?或者,我是否需要先为圆圈设置颜色,然后在nodes.style(...)之后使用一些选择将其删除,例如nodes.filter(function() {
return this.style.fill == '#someColor';
}).data([]).exit().remove();

这里正确的方法是什么?

最佳答案

这并不是真正的 D3 处理数据的方式,但原则上删除这样的元素没有问题。也就是说,您应该能够从您发布的函数运行 d3.select(this).remove()

但是,我建议重构代码,以便可以使用通常的输入/更新/退出模式来识别要删除的元素。

关于javascript - 根据 D3.js 中的数据可用性删除当前元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20306861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com