d3js突出显示连接的节点

时间:2013-01-08 11:43:03

标签: d3.js

我想列出连接到我在文本字段中使用鼠标翻转的节点的所有节点,一直尝试使用过滤器功能,它会做我需要的事情,因为它会影响笔画的笔触宽度链接对象,但我也想输出节点名称。

 .on("mouseover", function(da) {
  link.filter(function(db) { return da.group == db.groupColor; })
  .transition()
  .style("stroke-width", 8);  

 selectedText.text("Currently Selected: "+da.name+"is connecting to sensors: "+link.filter(function(db) { return da.group == db.groupColor; }) ); 

现在我得到的输出是“自行车布莱恩连接到传感器:[object svgline element]”

但我想要的是能够返回其他节点的所有名称......这有意义吗?所以它可能会说“自行车布莱恩连接传感器:加速度计,gps等......”

1 个答案:

答案 0 :(得分:0)

假设您的链接使用标准网络语法,您可以执行以下操作:

var filteredLinks = link.filter(function(db) { return da.group == db.groupColor; });
var sensorList = '';
for (x in filteredLinks) {
    if (filteredLinks[x]) {
    filteredLinks[x].source.id == originalSensorID ? sensorList += filteredLinks[x].target.id : sensorList += filteredLinks[x].source.id
    }
}

您可能希望在sensorList变量中添加逗号和空格。这有点麻烦,但我无法使.each()方法与过滤器一起工作,所以这是我能想到的最好的。

相关问题