D3 力布局:如何保持节点之间的给定最小距离
D3 force layout: How to maintain a given minimum distance between nodes?
我正在使用强制布局。新的 d3 节点是通过在div 元素内单击来创建的。节点在单击时创建。节点是大小为 50 像素 x 50 像素的矩形。创建节点后,我立即将其固定属性设置为 true,以便它不会自行移动。我不是在叫武力。可以通过按住 ctrl 键并拖动节点来移动节点。可以通过将鼠标(不按住 ctrl 键)从一个节点拖动到另一个节点来创建边。
现在,我想添加以下功能。任何两个节点之间的最近距离应大于某个最小值。您可以假定最小距离为任何正值。让我们假设 100 像素。当创建的任何新节点离现有节点太近时,节点应移动,以便任意两个节点之间的距离超过 100 像素。同样,当一个节点移动并离另一个节点太近时,节点也应移动以保持至少 100 像素的距离。
没有关于移动哪些节点以及朝哪个方向移动的条件。一种方法是检查坐标和距离,然后计算要移动的节点,移动多少,方向并相应地执行代码。但是,d3中是否有更简单的方法?
考虑仅使用force.linkDistance()
和force.linkStrength()
来实现此目的。 linkDistance 表示最小距离约束,linkStrength(在 [0, 1] 范围内)确定链接距离的"刚性"程度,或者模拟可以覆盖多少 linkDistance。
力.链接距离
力.链接强度
相关文章:
- 铯JS-两点之间的距离
- cloudSearch:范围从0到某个值之间的距离
- 查找图像上两点之间的距离,即使缩放图像也是如此
- 如何使用谷歌地图几何库查找两点之间的距离
- HTML5 画布绘制点之间的线条距离
- javascript中两个位置之间的距离
- 如何使用JavaScript设置内容和页脚之间的距离
- 使用javascript计算两个邮政编码之间的距离
- 只需显示两点之间的距离(KM)
- 计算标记之间的距离
- d3.js中条形图之间的相关距离
- 在强制布局 D3.js 中保持节点之间的动态链接距离
- 如何计算两个纬度和经度之间的距离
- X 轴标签与高图表中的图表之间的距离
- DOM 中两个元素之间的距离(以 px 为单位)
- 删除云中点之间的间隙 - 随着距离的靠近,使它们变大
- 搜索的地址与谷歌地图 api v3 上最近的现有地标之间的距离
- D3 力布局:如何保持节点之间的给定最小距离
- 坐标之间的音差地理位置距离
- 确定字符之间的距离