javascript - D3 集群部队布局中的淡入淡出/突出显示

标签 javascript d3.js highlight force-layout

我正在研究this D3 force layout with clusters example :

enter image description here

我想在鼠标悬停在节点上时仅突出显示当前群集的节点(其他群集应淡入不透明度 0.1)。

你的方法是什么?

最佳答案

我首先编写这个函数是为了比较两个节点的集群:

function isSameCluster(a, b) {
     return a.cluster == b.cluster;
};

然后,使用上面函数的 fade() 函数:(它应该针对参数“opacity”的任何值进行调用)

function fade(opacity) {
    return function(d) {
        node.style("stroke-opacity", function(o) {
                thisOpacity = isSameCluster(d, o) ? 1 : opacity;
                this.setAttribute('fill-opacity', thisOpacity);
                return thisOpacity;
            });
    };
};

之后,这就是我链接鼠标悬停和函数 fade() 的方式:

.on("mouseover", fade(.1))
.on("mouseout", fade(1));

结果是this :

enter image description here

关于javascript - D3 集群部队布局中的淡入淡出/突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24713664/

相关文章:

javascript - 如何使用 JavaScript 在 ASP.net 中显示动态内容

javascript - WordPress 在 jquery 中发布 while 循环

javascript - 如何在 d3 中以编程方式调用 "click"事件?

c# - 在 C# 中标记前后插入文本的最佳算法?

jQuery UI DatePicker 更改突出显示的 "today"日期

javascript - Angular TypeScript JavaScript 词典范围在第三方 API 事件处理程序的嵌套函数中丢失

javascript - 单击按钮替换输入字段中的选定文本

javascript - 将变量从一个文件传递到另一个文件

javascript - 使用显示堆叠点的 d3.js 创建点图

Emacs:设置特定窗口的背景颜色