使用dagre / dagre-d3 / d3.js悬停效果

时间:2018-09-27 12:17:01

标签: javascript d3.js dagre-d3 dagre

这是我的第一篇文章,希望有人可以帮我解决这个问题...

您在jsfiddle示例中看到的内容是使用我正在使用的工具制作的。 节点和边(链接)的所有定义均由我们的工具生成(“ VAR STATES = ..”和“ g.setEdge”等。) (工具提示在这里不起作用,请忽略)

在“ allnodes”选择中(鼠标悬停时),我只能选择当前节点(d3.select(this),但不能选择SELECTIT中称为名称的对象)

我要实现的目标:

1。)像下面这样的“鼠标悬停”效果:http://cs.brown.edu/people/jcmace/d3/graph.html?id=small.json

我可以在“ mouseover”方法中选择影响节点的名称:

    var selectit = g.neighbors(d); 

-> dagrejs / graphlib的API文档在这里找到:https://github.com/dagrejs/graphlib/wiki/API-Reference

2。)选择链接(包括父节点和子节点)时出现“鼠标悬停”效果

jsfiddle:https://jsfiddle.net/kraab/n9mgo74j/32/

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己找到了一个解决方案,jsfiddle更新了。 使用.each方法,您可以遍历所有选定的元素,如果在邻居d的数组中找到了实际元素selectit,则您知道自己现在位于正确的对象上,并且d3.select(this)可以更改实际对象。您悬停在其上的实际对象已保存到elemtosearch,并且也需要更改...

https://jsfiddle.net/n9mgo74j/37/