d3:强制有向图:节点过滤

Posted

技术标签:

【中文标题】d3:强制有向图:节点过滤【英文标题】:d3: force directed graph: node filtering 【发布时间】:2013-01-14 02:09:00 【问题描述】:

我正在浏览以下帖子:

highlight selected node

真的是一个不错的解决方案...我是 d3 的新手,对它的灵活性着迷。我在某一时刻面临问题。我不想在鼠标悬停时过滤节点,而是想根据在 html 文本框中输入的文本(节点名称或 ID)对其进行过滤。知道如何实现这一目标吗??

问候

【问题讨论】:

【参考方案1】:

我实际上不得不为工作中的一个项目做这样的事情。我想出的解决方案是给每个节点一个布尔属性,我称之为 isInFilter。

一旦用户输入文本,对其进行处理,然后循环遍历所有节点,并为每个节点分配 TRUE 或 FALSE 的 isInFilter。然后,您的节点显示条件(或执行您想做的任何转换)简单地成为对 isInFilter 属性的检查。

【讨论】:

你能举个例子吗?我被卡住了,因为我使用d3.json() 来获取数据,所以我必须在该块内才能访问节点/链接/图形,但不能从 html 调用嵌套函数。 不确定您所说的卡住是什么意思 - 您可以从那里将数据传递到任何您想要的地方。 忽略,我想通了。不过,感谢您的回复。

以上是关于d3:强制有向图:节点过滤的主要内容,如果未能解决你的问题,请参考以下文章

D3.js 强制有向图,通过使边缘相互排斥来减少边缘交叉

D3 强制有向图 ajax 更新

将由多条线组成的标签垂直居中于 D3 力有向图中的节点上

在 Force 有向图中将文本标签添加到 d3 节点并在悬停时调整大小

D3 具有非树数据的可折叠力有向图 - 链接对齐

d3中力有向图的语义缩放