问题标签 [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 投票
4 回答
7000 浏览

c++ - C++ 中的强制导向布局实现

您是否知道用于 GUI 的 C++中强制导向布局的开源实现?最好是 BSD/MIT/Apache 或其他(非 GPL)许可证。

0 投票
1 回答
11359 浏览

javascript - d3-js 的 Force-Directed Layout 是否支持图像作为节点?

d3一个 Force-Directed Graph Layout 的演示

我希望图中的所有节点都是图像,而不是圆圈。

所以,我改变了

但我看不到任何图像。我究竟做错了什么?

0 投票
1 回答
2120 浏览

d3.js - 了解 Javascript D3 可视化四叉树

我正在尝试使用和理解D3 可视化库(http://mbostock.github.com/d3/),我正在查看他们的力导向代码,似乎他们正在使用四叉树来计算粒子上的力. 代码是

其中 quad.count 似乎是四叉树节点中的粒子数。但是在https://github.com/mbostock/d3/blob/master/d3.geom.js#L696中查看他们的四叉树代码,我找不到对 的任何引用,以及它是如何计算的。我问是因为我想修改一些东西来改变每个节点的“重量”或“费用”。count

0 投票
2 回答
1502 浏览

javascript - 动态改变 Javascript D3 布局模拟

我正在尝试在https://github.com/mbostock/d3/blob/master/examples/force/force-multi-foci.html的D3示例中动态更改模拟细节。我输入了一个复选框,然后按如下方式动态分配刻度处理程序(完整代码位于http://pastebin.com/k4P0uzHK):

但实际上,似乎只有首先给出的处理程序才有效。有没有办法动态控制模拟?

0 投票
5 回答
13499 浏览

javascript - 使用大型数据集时,D3 强制布局可视化非常慢?

我正在使用d3.js生成由 50K 节点组成的图形的强制导向布局。对于小于 5K 的任何内容,该库都能创造奇迹。我通过更改引用直接使用d3.js 示例页面中的示例,以便它加载我的 json 文件。

有没有加快渲染速度的技巧?如果还有其他选择,那也很好。

0 投票
6 回答
44222 浏览

javascript - 有没有办法放大 D3 力布局图?

D3在这里有一个强制导向的布局。有没有办法给这个图添加缩放?目前,我能够捕获鼠标滚轮事件,但不确定如何编写重绘函数本身。有什么建议么?

0 投票
2 回答
2935 浏览

javascript - 在 javascript/d3 中具有强制导向布局的蜂群图

这是一篇关于在 R 中创建蜂群图的文章。

还有用于 beeswarm plot 的 R 包。接下来的两张图片说明了该软件包提供的一些可能性:

在此处输入图像描述

在此处输入图像描述

但是,我现在尝试使用d3.js的强制导向布局来实现它。

我的计划是让自定义重力将这些点拉向一条垂直线及其适当的 y 值,并且碰撞检测使这些点彼此远离。

我有一个半工作原型

在此处输入图像描述

不幸的是,我找不到解决两个问题的方法——我怀疑这确实是同一个问题:

  1. 我的观点一直重叠,至少有点重叠。

  2. 当点数在布局中心堆积后,随着防撞部队和“来到中心”部队的战斗,正在进行一场“洗牌”。

我希望这些要点能够很快就他们应该住在哪里达成一致,并且最终不会重叠。

我正在使用的强制代码(如果你想在这里而不是在 bl.ocks.org 上看到它)是:

这是我第一次涉足强制导向的布局,所以如果这是noobish,请道歉......

0 投票
1 回答
6442 浏览

text - D3 使用文本而不是节点的力有向图

原文: http: //mbostock.github.com/d3/ex/force.html

在上面链接中提供的示例中,我只是尝试用它们的名称替换圆形节点。我对 D3 和 js/jquery 不太了解,但我试图弄清楚它是如何工作的。

我能够用 svg:text 替换节点,但是当我这样做时,它们只是在它们开始的地方“生成”并且它们没有动画。

我不知道我是否应该在这里使用组。如果我这样做,请教我如何。

到目前为止,这是我修改后的代码:

0 投票
2 回答
19168 浏览

javascript - 无法在 D3 JavaScript 库中获取点击事件

我正在使用 D3 JavaScript 库将数据显示为强制定向标记。它工作正常。但我无法将点击事件添加到圈子。所以当我点击圆圈时,我会详细分析圆圈并将其显示在模态框中。

我尝试添加.on("click", 'alert(\'Hello world\')')var circle. 它没有按预期工作。它会在加载时发出警报,而不是在点击时发出警报。

我很感激任何帮助

0 投票
5 回答
33051 浏览

svg - 在 D3 强制有向图中的链接上添加文本/标签

我一直在研究修改后的力有向图,并且在将文本/标签添加到链接未正确对齐到节点的链接上时遇到了一些问题。如何解决?

以及如何将事件侦听器添加到 SVG 文本元素?添加.on("dblclick",function(d) {....}只是不起作用。

这是代码片段: