我在这里看到了这个例子http://www.d3noob.org/2013/03/d3js-force-directed-graph-example-basic.html http://www.d3noob.org/2013/03/d3js-force-directed-graph-example-basic.html我可以在一定程度上理解它,我可以进行基本的更改,但无法具体做一件事,即突出显示(更改颜色)所有连接的节点。例如,如果我将鼠标悬停在节点 1 上或单击节点 1,它应该找到所有相邻节点并通过更改颜色突出显示链接路径。
我在看从 svg 外部的按钮单击 d3 中的节点 https://stackoverflow.com/questions/11206015/clicking-a-node-in-d3-from-a-button-outside-the-svg/11211391#11211391已经回答了,但我无法让它在这个例子中工作。
如果有人可以在这里提供帮助并修改现有代码以实现连接节点/链接的搜索,我将不胜感激。
如果这确实是一个非常基本的问题并且我在这里遗漏了一些非常明显的东西,我深表歉意。
我建议阅读拖动行为文档:https://github.com/mbostock/d3/wiki/Drag-Behavior https://github.com/mbostock/d3/wiki/Drag-Behavior。因此,更改节点颜色的基本方法是在拖动开始事件上切换类。例如,考虑以下 CSS:
.node {
stroke: #000000;
stroke-width: 1.5px;
}
circle.others{
fill: #C0C0C0;
}
现在考虑到为了本示例,您已将节点表示为圆圈(这是在 d3 力定向图中完成的:http://bl.ocks.org/mbostock/4062045 http://bl.ocks.org/mbostock/4062045),然后您可以在 d3 脚本中注册一个 Dragstart 事件,如下所示:
function dragstart(d) {
d3.selectAll("circle").classed("others",true);
d3.select(this).classed("others", false);
}
同样的想法也可以应用于链接。希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)