D3.js 我使用d3来可视化一些节点和链接。我希望当我将鼠标悬停在一个圆上时,能够淡出其他圆(节点)
目前,我可以通过更改节点的笔划来突出显示鼠标焦点上的节点。但是,我还希望能够淡出所有其他节点(通过使其笔划更加透明)。我唯一的问题是,我不知道如何引用不在鼠标焦点上的所有其他节点。 我更愿意将其包含在mouseover和mouseout的相同函数中D3.js 我使用d3来可视化一些节点和链接。我希望当我将鼠标悬停在一个圆上时,能够淡出其他圆(节点),d3.js,D3.js,目前,我可以通过更改节点的笔划来突出显示鼠标焦点上的节点。但是,我还希望能够淡出所有其他节点(通过使其笔划更加透明)。我唯一的问题是,我不知道如何引用不在鼠标焦点上的所有其他节点。 我更愿意将其包含在mouseover和mouseout的相同函数中 var nodes = svg.selectAll(".node") .data(graph.nodes) .enter().append("g")
var nodes = svg.selectAll(".node")
.data(graph.nodes)
.enter().append("g")
.attr("class", "node").
on("mouseover", mouseover)
.on("mouseout", mouseout);
function mouseover() {
d3.select(this).select("circle").transition().style("stroke-width","9");
}
您可以这样做:
function mouseover() {
//this will make all the circle fade out
d3.selectAll("circle").style("opacity", 0.2);
//this will make our circle opacity 1
d3.select(this).select("circle").style("opacity", 1)
d3.select(this).select("circle").transition().style("stroke-width","9");
}
现在,鼠标悬停,使所有圆不透明度为1:
function mouseout() {
//this will make all the circle fade out
d3.selectAll("circle").style("opacity", 1);
d3.select(this).select("circle").transition().style("stroke","#0006B3").style("stroke-width","1");
}
希望这有帮助 您可以这样做:
function mouseover() {
//this will make all the circle fade out
d3.selectAll("circle").style("opacity", 0.2);
//this will make our circle opacity 1
d3.select(this).select("circle").style("opacity", 1)
d3.select(this).select("circle").transition().style("stroke-width","9");
}
现在,鼠标悬停,使所有圆不透明度为1:
function mouseout() {
//this will make all the circle fade out
d3.selectAll("circle").style("opacity", 1);
d3.select(this).select("circle").transition().style("stroke","#0006B3").style("stroke-width","1");
}
希望这有帮助