D3.js力布局 - 仅显示图形的一部分
D3.js Force Layout - showing only part of a graph
早上好,
刚从真棒D3JS库开始...
我只想显示具有力导向布局的图形的一部分。这个想法是将一个节点声明为"中心",并显示距离该中心节点两个(例如)范围内的所有节点,中心节点的邻居和邻居的邻居。 如果用户单击显示的节点之一,它将成为"新"中心节点,并显示不同的"子图"。我想知道是否有关于实现这种子图布局的示例,以及是否已经在 d3js 中实现了某种"节点距离"算法。
多谢
马丁
更新:刚刚找到了修改力布局的示例,该示例阐明了如何在力导向布局中添加和删除节点和边缘。
我刚刚上传了一个交互式力定向子图的"概念验证级别"。
http://justdharma.com/d3/sub-graph/
在这个例子中,我在引擎盖下使用了 backbonej。作为我第一次使用 backbonejs 实现某些东西,我肯定会以非常粗糙的方式使用它。虽然这个例子可能会阐明如何实现交互式子图的一种方式,但肯定不是模板如何做到这一点 - 正如所说只是概念证明黑客......
这在 D3 中没有实现,我不知道有任何示例。您需要做的是:
- 将新中心节点的
fixed
属性设置为 true,以防止力布局更改其位置。 - 将同一节点的
px
和py
属性设置为中心位置。 - 对于力布局中的每个节点,计算到新中心节点的最短路径。
- 根据每种情况下路径的长度,删除节点或保留节点。
这里最棘手的部分是从每个节点到新中心的路径的计算,但即使这是一个非常标准的算法问题。要记住的另一件事是,您需要修改包含力布局的节点和链接的数据结构,即您不能为力布局设置新的节点和链接并期望一切顺利进行。
相关文章:
- 有没有一个javascript图形绘制库可以进行气球树布局
- 如何在d3上的图形中添加放大和缩小按钮
- 如何在React Native中绘制图形
- 删除图形和数字之间的连字符(-)符号
- 在arcgis javascript中手动添加图形层的图例
- Javascript图形布局引擎
- 来自mysql的动态值用于html代码点火器视图中的图形
- Javascript图形可视化工具包,具有高性能(500-1000个节点)
- 标签的rggraph问题Above未出现在第二个图形创建中
- Facebook:当发布期望对象引用时显示打开的图形对话框
- NVD3.js多图形,具有固定的x轴和y轴
- D3.js强制布局带有外部数据的图形空白
- 使用Javascript的图形编辑器
- 将两个图形(饼图和条形图)并排对齐::d3-js
- 动态Facebook开放式图形标记-javascript
- 通过变量将数据添加到图形中
- 没有使用Highcharts显示任何图形
- 能够在Highcharts中看到值,但不能看到图形
- 来自facebook图形API的响应中出错
- 将JavaScript图形和图表转换为图像