问题标签 [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.
javascript - 如何影响 3d-force-graph 中的链接距离?
我正在尝试这个包中的 3d Force Graph,我正在寻找影响节点之间结合强度的方法。链接宽度或长度都很好,但我在 API 中看不到任何允许我控制或影响的东西。传递链接强度的正确字段是什么Graph
,每个链接一个?
javascript - 附加组搞砸了 d3 强制布局中的所有内容
我有一个 d3 force sim,如果我要添加节点,如下所示:
一切正常 - 圆圈被添加到正确的位置,呈现的 html 如下所示:
但如果我想添加组(我的最终设计需要背景图像、标签和各种其他东西),如下所示:
尽管我的代码似乎得到了正确解释(我附加了组,将图像和标签附加到它们),但这些组保持静态,并且它们彼此重叠地保持在 sim 的中间。此外,似乎坐标变换是转到图像而不是组,这就是我认为破坏模拟的原因:
我非常肯定组的使用会搞砸一切,但我无法理解如何正确使用它们。
感谢任何帮助。
这是片段形式的完整布局:
d3.js - d3 力有向图的分组项目相互重叠
我有这个 plunker ( https://next.plnkr.co/edit/17t5ujwC71IK3PCi ),它显示了基于组 ID 分组在一起的节点的 d3 图。图表看起来很好,但我需要确保这些组永远不会相互重叠(如下所示,橙色、蓝色和浅蓝色是不同的组,但它们出现在彼此之上)。
拖动它们会导致图表无休止地移动(这是另一个问题),并且并不总是能解决重叠问题。我看到了另一个例子(http://bl.ocks.org/GerHobbelt/3071239),它好一点,但它是用 d3.v2 制作的。它在每个组之间有相当大的空间,这使得分析更容易。
我认为设置charge
为负值会起到神奇的作用,但将其设置为.force('charge', d3.forceManyBody().strength(-30))
根本没有帮助。
问题:
现在,尝试通过编写类似于我上面提到的 d3.v2 示例的代码来使组远离,但很难为我的 d3.v4 烹饪类似的东西。关于如何动态地使所有组彼此远离有什么好的建议吗?
javascript - 链接源与节点不匹配,节点中的重复项不重复链接
我需要帮助修复 D3 力模拟节点和链接,我有 2 个问题,请你帮我找到正确的方向吗?
问题1:节点数组中的重复不会复制流量,请参见下图,有2个“哺乳动物”节点和4个哺乳动物连接的哺乳动物,我该如何实现?
http://jsfiddle.net/3hL48pxg/3/
问题2:当链接的来源与节点不匹配时,会抛出错误,如何避免错误?
http://jsfiddle.net/3hL48pxg/5/
提前致谢!
javascript - 在一定的模拟时间后聚合 d3.js 中的碰撞节点
我有一个 d3 模拟,它根据算法计算的属性对节点进行分组。在该算法的多次迭代中,我希望能够在某些组周围显示一个“集群区域”,最好是在算法仍在运行时聚合碰撞节点。因此,与其采用这种在碰撞时删除节点的方法,是否可以汇总碰撞节点的计数?并且可能以不同于该块中提到的方式(对于数百个数据节点似乎计算成本很高)?我查看了 d3-force 的文档,但找不到任何内容。
谢谢!
javascript - React.js 和 D3,向强制有向图添加箭头
我正在密切关注将 D3 与此处给出的 React 相结合的方法。
通过这种模式,结构和渲染由 React 完成,计算由 d3 处理。
此代码段用于在两个节点之间绘制边(链接)。我是 d3 的新手,所以我想知道如何添加一个箭头来指示两个节点之间的源-> 目标关系?该箭头应该在目标节点旁边。
javascript - D3 力模拟 - 使节点更靠近同一角度的点
这个问题基于Move d3 circles away from center circle - force layout当节点 N1 的大小发生变化并且我在节点上运行模拟时,N1 周围的节点将以相同的角度移开,但我在这里遇到的问题是当它的大小变回原来的时候,让节点更靠近 N1。我怎样才能做到这一点?
我在下面使用过,但节点没有靠近
另外,如果我尝试使用力模拟,那么其他节点的位置会完全改变,请在此处查看视频http://recordit.co/797i1E8ocT
提前致谢。
typescript - D3js有向力图 - 不透明度不会即时改变
我从以下链接下载了代码
https://medium.com/netscape/visualizing-data-with-angular-and-d3-209dde784aeb
我从下载主题
https://github.com/akveo/ngx-admin
我设法使用 angular v6 将两者集成到单个项目中。现在我创建了我的新组件并使用了来自媒体站点的图形组件。我已将属性添加到节点中,显示为“性别”,显示 M 或 F。现在我在屏幕右侧有一个面板,如果单击男性复选框,性别 M 的节点应突出显示,如果选择 F,则突出显示女性节点和反向以取消选中复选框。
仪表板组件.ts:
仪表板组件.html
仪表板组件.scss
目前,有时它有效,但并不一致。也许我错过了一些东西。我怎么能弄清楚这个?