问题标签 [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.
d3.js - D3 力有向图 - 如何过滤节点和关联链接?
我是 d3(和 javascript)的新手,这是我第一次在 Stackoverflow 上发布问题。如果我的问题不清楚或不恰当,请告诉我。如果您提供任何建议或帮助,我将不胜感激。
我在力有向图中过滤节点时遇到困难。我已经搜索并使用发布在其他问题(D3 force-directed graph - filter nodes and associated links)上的代码来隐藏节点及其相关链接。但是,我无法隐藏链接全部不可见的节点。
这是我正在尝试做的事情:
如果与该节点的所有链接都是不可见的,则该节点也应该是不可见的。否则,如果与该节点相关的任何链接可见,则该节点应该可见。我从 jsfiddle.net (zhanghuancs/cuYu8/) 找到了这段代码,但我无法在我的身上使用这段代码。(我不知道如何在这里链接 jsfiddle 代码。)
有人可以帮我吗?这是我的代码:
javascript - D3强制有向图点击事件不起作用
我也是 d3.js 和 JavaScript 的新手。这是我在 d3 中使用 CSV 文件数据的强制定向图的代码。
在开始之前,这是我想要制作类似http://bl.ocks.org/eesur/be2abfb3155a38be4de4的代码片段
关于图表的一切都很好,但 onclick 事件似乎不起作用。单击功能应该将单击事件应用于 csv 数据中的所有节点(即 16 个节点),但我的图表只有 9 个节点。
我试图将点击数据放到这些特定节点,但失败了。这也是我要绘制图表的 CSV 数据
https://github.com/hohadang1999/Authorship-Network-Graph/blob/master/publications.csv
我想要实现的是这些节点上的点击事件,如图所示
javascript - 将新节点添加到强制模拟导致仅转换到新节点
我正在尝试使用 forceSimulation 用 d3 构建动态强制图。当我使用硬编码节点构建图表并链接按预期构建的所有项目时。但是当我添加新节点时,所有旧节点都不会转换它们的位置,当我拖动旧节点时,只有新节点移动(当我移动新节点时,它会按预期移动)。
我试图改变模拟的刻度方式,但没有成功解决这个问题。
当我执行 addNode() 函数时,我只能拖动添加的新节点。所有其他节点都卡住了,当我拖动它们时,它只会更改新节点的位置。任何帮助都会很棒!谢谢。
r - 链接指向 forceNetwork 的左上角,R 中的 networkD3
我正在尝试使用forceNetwork
,但链接指向左上角并且链接不符合预期。
预期结果是将 h20 作为节点 0,然后连接到“H2O Driverless AI”和 H2O.ai。然后 H2O Driverless AI > DAI。然后DAI>这是一个机械化操作跟踪系统。H2O.ai>H2O。H2O>H2O 是用于大数据分析的开源软件
如果我错了,请纠正。
javascript - D3.js v5 - Update nodes from another array of nodes
Each node I got is in g html tag which contains 2 more tags:
Text tag- representing the name of the node.
Circle tag - which is the node shape.
When I shifting from 1 set of nodes to another set of nodes in the HTML I see both text tags and circle tags of data from the old set of nodes and from the new set of node.
I tried to play with the exit().remove() method and with merge() method but nothing seems to fix my problem
Here is part of my update function which relevant to the nodes.
I expect to get g html tag with only the circle and text of new node.
javascript - 如何在力有向图中配置力参数以使图稳定
我正在尝试使用 d3.js 制作一个力有向图,但随着节点数量的增加,该图变得非常不稳定并且它开始振动,它也超出了画布限制。我想要实现的是中心节点下方的所有依赖节点及其上方的依赖关系,因此它在视觉上是可以理解的
javascript - 修改 D3 Force-Directed Graph 中的现有节点,而不会出现跳跃过渡
我有一个连续的处理数据流从数据库流入客户端,在客户端我使用 D3 渲染一个力导向图。
经过多次尝试,图表似乎正在更新。基本上,圆半径现在从新数据更新。
然而,每次simulation.nodes(nodes_data) 接收到nodes_data 时,整个图都会重新初始化并最终成为一个跳跃的过渡。
我试过改变不同的 force.alphaTarget 值。
这是我用来初始化模拟的函数。
这是我用来用新的nodes_data 更新模拟的函数。
这是节点更新功能
这是用于更新链接的功能
我没有收到任何错误消息。这只是一个跳跃的图形转换。我希望图表保留其原始配置并更新现有位置的节点半径。我想有一个流畅的体验。
d3.js - d3力碰撞后如何获取圆的坐标(cx,cy)?
在使用 d3-force 碰撞后,我试图获取圆的坐标(cx,cy),但我仍然得到原始位置。有什么方法可以获取圆的平移坐标(碰撞检查后)?
以下只是代码摘要。
d3.js - 对象构造函数中的 D3 v4 气泡模拟未放置圆
我想通过将创建放在一个对象中并调用该对象的实例来创建 D3 气泡图。
在对象之外,脚本运行良好,显示出散布在画布中的气泡。
但是,当我尝试将脚本放置在对象构造函数中时,forceSimulation 函数似乎并没有将气泡分散在 y 轴上。他们只是聚集在同一个 cy 和 cx
更新这是完整示例代码的jsfiddle