【发布时间】:2020-09-09 20:32:54
【问题描述】:
我有一个简单的节点链接图this fiddle example。我想更改悬停在其上的节点及其连接节点的颜色。我还希望链接本身变得更大或更粗。我的代码基于我找到的已接受答案here。以下是mouseover() 函数的相关代码块:
.on("mouseover", function (d) {
var connectedNodes = data.links
.filter((x) => x.source === d.name || x.target === d.name)
.map((x) => (x.source === d.name ? x.target : x.source));
//my function to highlight node and connected nodes. only highlights first node in map.
d3.select(".node")
.selectAll("circle")
.attr("fill", function (c) {
if (connectedNodes.indexOf(c.name) > -1 || c.name === d.name)
return "red";
else return "blue";
});
console.log(data.links);
console.log(connectedNodes);
})
第一个问题是,.filter() 函数在记录时返回一个空数组。我做错了什么?
【问题讨论】:
标签: javascript d3.js filter