问题标签 [d3-force-directed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
368 浏览

javascript - D3 强制布局数据不更新

我正在使用 D3 的强制布局图来绘制数据。

  1. 当我update使用新数据调用函数setInterval时,力布局图节点从随机位置开始。我怎样才能解决这个问题?
  2. 即使console打印了正确的数据,数据也没有得到更新。我该如何解决这个问题?

这是jsfiddle:https ://jsfiddle.net/mootqvs1/

0 投票
1 回答
309 浏览

javascript - D3 强制布局固定位置

我正在使用 D3 的强制布局图来绘制数据。

当我update使用新数据调用函数setInterval时,力布局图节点从随机位置开始。我怎样才能解决这个问题?

我阅读了其他答案,例如 using d.x d.yor alpha(0),以防万一alpha(0)它不起作用但d.x d.yusing 成功,直到数据被更改,然后新节点不在应有的位置。

我目前的工作小提琴:https ://jsfiddle.net/mootqvs1/5/

0 投票
1 回答
294 浏览

javascript - D3 forceRadial() 嵌套数据以父级为中心

我试图让 d3.forceRadial() 在它们各自的父节点周围分层分布节点,但是当我在力上设置 x 和 y 参数时,所有节点都朝右下角射出,并且 x 和 y 值结束上万..

我的代码如下所示:

其中 parent 是对父节点的引用,d.distance 是距根节点的步数。我已经尝试将所有节点的 x 和 y 预先设置为 0 但无济于事..

0 投票
1 回答
30 浏览

javascript - 为什么我的链接不显示?

下面是我用来生成力导向图以显示以下数据的一些代码。节点、缩放和平移功能有效,但是当有链接时,我的节点之间不会显示线条。json格式的数据:

D3 视觉代码:

请有人解释为什么链接不会显示以及如何解决这个问题?谢谢你。

0 投票
1 回答
2763 浏览

javascript - 在 d3 force 有向图中单击和双击节点

我正在创建一个 d3 力有向图。我的要求是单击和双击一个节点。
单击时,我需要执行不同的任务,双击时,我需要执行其他一些任务。

这就是我的代码的样子:

这里的问题是,即使我双击节点,也会调用单击函数。

click双击节点时如何防止调用函数。
换句话说,当单击节点时,click必须调用函数,当双击时,dblclick必须调用函数。

非常感谢任何可以帮助我解决这个问题的人。

0 投票
0 回答
1416 浏览

d3.js - D3:layout.force 和 forceSimulation 构建网络图的区别

我是 D3 的初学者,并试图掌握如何在 D3 中构建适当的力导向图。似乎有两种不同的方式来构建它。

  1. 使用 layout.force。例如
  2. 使用力模拟。例如

我或多或少对第一个感到满意,因为代码更短且更易于理解。但是,如果没有正确理解,很难将使用示例 2 的示例代码中的函数转换为示例 1。谁能描述每个的优点或缺点?

谢谢你。

0 投票
1 回答
213 浏览

d3.js - D3 force-directed:为什么显示标签时需要转换翻译刻度

我正在查看带有节点标签的 D3 力导向图的样本,我意识到对于刻度函数,控制节点和标签移动的函数使用了变换-翻译方法:

而不是通常没有标签的。

任何人都可以帮助解释原理吗?谢谢。

0 投票
2 回答
2071 浏览

javascript - 根据边界动态设置初始 d3 缩放 - V4

我有大量节点要显示在页面上,大多数情况下,由于节点放置,圆圈会离开屏幕的可见区域。

有没有办法根据节点的整个边界框动态设置初始缩放级别,以便所有节点都适合屏幕的可见区域?

更新:

我为此添加了一个小提琴 https://jsfiddle.net/navinleon/6ygaxoyq/3/

预期的:

在此处输入图像描述

0 投票
1 回答
255 浏览

mongodb - mongo查询:基于另一个字段添加一个具有排名号的新字段

我是 mongo 查询的新手。目前我有一个这样的集合,用于创建 d3 力导向图。

}

使用 mongo 查询,我想生成这样的输出。基本上对于“节点”下的嵌套数据,添加一个名为“topn”的新字段,并按从 1 到 5 的计数对其进行排名。其余值为空。任何人都可以帮忙吗?谢谢!

0 投票
1 回答
388 浏览

javascript - 使用 svg 变换更新位置时,力模拟很不稳定

JSFiddle 示例

我注意到在d3-force图中更新 svg 元素的位置时,使用(在圆圈的情况下)cxcy属性更新元素的位置比使用属性更平滑transform

在示例 JSFiddle 中,并排有两个单独的力模拟。左侧使用transform属性更新位置:

右侧使用圆的cx和属性更新位置:cy

模拟看起来是相同的,直到它们即将变为静态,此时使用变换的模拟开始抖动很多。任何想法是什么原因造成的?可以修复它以使动画使用变换保持平滑吗?