为了账号安全,请及时绑定邮箱和手机立即绑定

如何隐藏节点祖先的名称

如何隐藏节点祖先的名称

FFIVE 2022-10-21 14:44:57
我是 d3 的新手,我试图用 d3 圆形包装来表示代码模型。问题是类和接口太多,圆圈的标签难以阅读。我发现我可能需要隐藏父节点的名称以使事情更清楚,如下所示:var node = svg.append("g").selectAll("circle")    .data(root.descendants())    .join("circle")    .on("mouseover", d =>{      //hide the label of the parent of the node         var parentNodeLabel = label.filter((e) =>{            return e == d.parent;        })        .style("fill-opacity", "0")        })     }它按预期工作,但后来我意识到只隐藏父母的名字并没有多大作用,所以现在我试图隐藏所有祖先的名字。我试过这样:.on("mouseover", function(d) {        var ancestorNodeLabels = label.filter((e) =>{            return e == d.ancestors().slice(1);        })        .style("fill-opacity", "0")        })}但它似乎根本不起作用。我需要有关如何完成我正在尝试做的事情的提示。
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

没关系,我只是愚蠢。我需要检查 e 是否包含在祖先中,不要将其分配给它们。


var ancestorNodeLabels = label.filter((e) =>{

            return (d.ancestors().slice(1)).includes(e);

        })

        .style("fill-opacity", "0")


查看完整回答
反对 回复 2022-10-21
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信