【发布时间】:2016-10-04 18:07:08
【问题描述】:
我刚刚开始在我的网络应用程序中使用 D3 来可视化图表。我的边缘和节点是可点击的。双击时,节点会将用户发送到包含有关节点的信息的表。我想对边缘做同样的事情,所以点击时。我想检索该边缘的相应节点,以便我可以将该信息发送到另一个脚本。
所以从技术上讲,我想知道的是如何检索与边缘对应的节点的名称。例如。节点 A 连接到节点 B。单击边缘(链接)时如何检索该节点信息?输出应该是值 A 和 B。我已经查看了所有内容,但找不到任何相关信息。
我的边和节点信息在 JSON 文件中
d3.dataset = {
"nodes":[
{"name":"heart problems","group":"1"},
{"name":"acetic acid","group":"3"},
{"name":"alzheimers","group":"1"},
{"name":"bipolar","group":"1"},
{"name":"ebola","group":"1"},
{"name":"vaccinium myrtillus","group":"2"},
{"name":"adamantane","group":"3"},
{"name":"fluorene","group":"3"}
],
"links":[
{"source":3,"target":1,"value":20},
{"source":3,"target":6,"value":20},
{"source":3,"target":7,"value":9},
{"source":0,"target":1,"value":19},
{"source":0,"target":6,"value":1},
{"source":2,"target":1,"value":20},
{"source":2,"target":6,"value":20},
{"source":2,"target":7,"value":5},
{"source":4,"target":1,"value":2},
{"source":4,"target":6,"value":3},
{"source":2,"target":5,"value":2},
{"source":5,"target":1,"value":2}
]
}
解决方案,谢谢你的回答我觉得很愚蠢......我忘了在函数中使用 d :)
这是现在的函数,clickonEdgeEvent 函数将值传递到我的 HTML
var clickOnEdge = svg.selectAll(".link").on("dblclick", function(d){
d3.select(this).attr('r', 8)
.style("fill","lightcoral")
.style("stroke","red")
clickonEdgeEvent((d.source.name),(d.target.name));
});
提前感谢您的帮助, 丹妮
【问题讨论】:
-
你能分享一个使用这个 JSON 的示例 sn-p 吗?
标签: javascript json d3.js graph