问题标签 [force-layout]

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 投票
3 回答
5096 浏览

javascript - d3.js force-collapsible with labels

I am having some trouble trying to re-create

I've attempted to add the features of http://bl.ocks.org/950642 to http://mbostock.github.com/d3/talk/20111116/force-collapsible.html

and tried to do:

However that results in the circles disappearing and all the text is clumped in the top left corner.

Any ideas what I might be doing wrong? Here is my JS:

here is a jsfiddle: for some reason it isn't working though here because of the .json file I think...

http://jsfiddle.net/vMw2N/5/

0 投票
2 回答
4486 浏览

javascript - d3js 强制布局为每个节点动态添加图像或圆圈

我是 D3JS 的新手,我需要为每个节点创建包含图像或圆圈的强制布局。这意味着,动态添加 Image 节点或 Circle 节点。这可能吗?,如果有任何例子,请回答

0 投票
1 回答
1337 浏览

javascript - 将 d3 力有向图的节点包围在圆形或多边形或云中

我已经建立了一个d3带有分组节点的力有向图。我想将组封闭在云状结构中。我怎样才能做到这一点?

图的 Js Fiddle 链接:http: //jsfiddle.net/Cfq9J/5/

我的结果应该类似于此图像:

在此处输入图像描述

0 投票
2 回答
3495 浏览

javascript - D3 选择性缩放

我正在开发一个带有一些附加功能的强制导向图形布局:可选链接/节点、工具提示、鱼眼效果,以及——对我的问题很重要——缩放和平移。

现在,缩放效果很好,如下所示:

重绘功能看起来像这样......

但是,此方法会缩放整个 SVG 图形,包括字体大小、图形边缘、节点周围的线条笔划宽度等。

是否可以缩放某些元素?到目前为止,我看到的唯一解决方案是写这样一行(从这里获取http://jsfiddle.net/56RDx/2/

在重绘方法中,基本上是在飞行中反转某些元素的缩放。然而,我的问题是(除了这是一个丑陋的黑客之外),我的边缘宽度是在图形绘制上动态生成的(根据一些图形属性......),所以这种“反转”方法不起作用......

0 投票
0 回答
2340 浏览

javascript - 启动 d3.js 强制布局图时出现“无法读取未定义的属性‘权重’”错误

在我的项目中,我想使用 d3.js 强制布局和以下数据绘制图表。

此数据已以这种格式动态准备。在javascript代码中 force.start(); 函数已被调用“无法读取未定义的属性‘权重’”已引发错误。这个相关的问题对我没有帮助,那么我能做什么来防止这个错误。此外,链接数组为空或某些链接已被删除,或者当我使用“miserables.json”作为数据 javascript 时,下面的 javascript 可以成功运行。

感谢您的帮助:D

0 投票
3 回答
4529 浏览

javascript - D3.js 对力导向图使用什么算法?

我很想知道 D3 使用什么算法来实现库中的力导向图功能。阅读了 Kobourov对力导向图历史的总结后,我对图书馆中使用的确切算法或方法(算法/启发式的组合)有点困惑。

D3 API 参考说 Barnes-Hut 算法用于计算作用在物体上的电荷,一个 O(N*log(N)) 操作。Kobourov 的文章提到 Quigley-Eades 算法和 Hu 的算法是利用 Barnes-Hut 的多级算法。其中一个是否在 D3 中以某种方式使用?

API wiki 进一步说 Verlet 集成用于粒子定位。源代码中提到了 Gauss-Seidel 算法,在Hu 的算法和 Dwyer 的图形布局论文中都提到了该算法。我想我正在寻找答案的问题是 D3 使用的“综合”算法;Kobourov 的文章列出了几个和 D3 强制导向功能似乎并不直接适合其中任何一个。

0 投票
1 回答
2552 浏览

javascript - 如何检查没有链接的节点的d3 js力图并删除它们?

我想控制我的节点,以便每个节点都是链接的,并且没有孤立的节点。

我的脚本每 30 秒从 json 查询中添加一对新节点。如果任一新节点是现有节点的副本,则图将仅使用唯一节点更新并将其链接到另一个现有节点。

在此过程中,我将移除最旧的节点以在图表上最多保留 10 个节点。正是在这里,我似乎遇到了麻烦。我怎样才能开始删除节点并检查并删除任何落后者,即未链接到任何其他节点的节点?

该脚本基于knoren 关于添加新节点的帖子

0 投票
1 回答
565 浏览

d3.js - 使用 Force Layout 中的路径作为 ClipPath

我正在根据强制布局中的某些点生成 voronoi 路径。我想随机分配 10 个类中的 1 个路径,然后用一个 clipPath 包装其中一些类,然后我可以将其应用于另一个元素。

是否可以使用 d3 将 svg 标签包裹在元素周围而不是附加?

或者甚至可以在clipPath 中使用d3 生成的多个路径?

谢谢您的帮助,

0 投票
2 回答
25118 浏览

d3.js - 底层数据发生变化时如何更新D3强制布局的元素

我正在使用其中一个强制布局示例 ( http://bl.ocks.org/1153292 ) 在我的网站上显示一个网络。

我允许用户在任何给定时间选择要查看的链接类型。我注意到,当我选择查看链接类型 A,然后添加链接类型 B,然后删除链接类型 A 时,类型 B 的剩余链接将显示为 A 颜色。

这是运行以将链接添加到 svg 图的代码。我正在this.links通过添加和删除链接来更改数组。如您所见,我设置了类属性,但它没有更新 - 它仍然是链接 A 的类型。

我目前通过更新 tick 函数中的类属性来解决这个问题,但这当然会导致很多不必要的工作。

我读到 enter 操作返回现有元素和新元素的合并选择,因此 attr 操作应该更新现有元素并设置新元素。

我错过了什么?

0 投票
1 回答
1028 浏览

javascript - d3.js 强制布局增加链接距离

如何在不影响节点对齐的情况下增加linkDistance,

示例: http: //mbostock.github.com/d3/talk/20110921/force.html

当我尝试增加圆半径和链接距离时,它崩溃了