gpt4 book ai didi

javascript - D3 : Lag update of force layout hull on click

转载 作者:行者123 更新时间:2023-11-29 21:01:17 26 4
gpt4 key购买 nike

在数据集之间转换时,我的 D3 force 布局更新滞后:

当数据集从 MORE links 变为 LESS links 数据集时,剩余的凸包不会在 1 次点击时消失。用户需要点击两次更新按钮才能运行此代码:

pathg.selectAll("path").remove();

See JSFiddle here

从 MORE hulls 数据集一键式转换到 LESS hulls 数据集后: Remnant convex hulls

可能有什么问题??跟D3有关系吗?

最佳答案

问题出在这里:

代替

return "M" + 
d3.polygonHull(d.values.map(function(i) { return [i.x, i.y]; }))
.join("L") + "Z";

应该是

var poly = d3.polygonHull(d.values.map(function(i) { return [i.x, i.y]; }));                                                
if (poly){
return "M" + poly.join("L") + "Z";
}

原因是某些数组的 d3.polygonHull 返回 null,这导致了错误。

关于 pathg.selectAll("path").remove(); 你不需要这样做,因为退出会删除不需要的链接。

工作 fiddle here

关于javascript - D3 : Lag update of force layout hull on click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46360275/

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