D3强制布局节点间固定链接
d3 force layout fixed links between nodes
我有一段代码来显示一个力图,可以在这个链接- https://jsfiddle.net/u49s9sth/3/
在上面的例子中,源数据表示为
var nodes = [{
id: 0,
reflexive: false,
"x": 169,
"y": 110,
name: "event"
}, {
id: 1,
reflexive: false,
"x": 369,
"y": 110,
name: "email"
}],
lastNodeId = 1,
links = [{
source: {
id: 0,
reflexive: false,
"x": 169,
"y": 110,
name: "event"
},
target: {
id: 1,
reflexive: false,
"x": 369,
"y": 110,
name: "email"
},
left: false,
right: true
}];
在这种情况下,节点之间的链接显示为较小的大小后会缩小。但是使用相同的代码,如果我将源数据作为
var nodes = [{
id: 0,
reflexive: false,
"x": 169,
"y": 110,
name: "event"
}, {
id: 1,
reflexive: false,
"x": 369,
"y": 110,
name: "email"
}],
lastNodeId = 1,
links = [{
source: nodes[0],
target: nodes[1],
left: false,
right: true
}];
这是直接引用nodes
的数据,它将工作得很好下面是实际结果的示例- https://jsfiddle.net/u49s9sth/4/
为什么会发生这种情况?如何通过直接给出数据来实现第二个结果?
在您的第一个数据块中,链接并不是真正的链接,因为您指定数据d3
的方式从未实际连接两个节点。最后,表现得像一个节点,受制于布局中的力,它会从节点处收缩。
d3
的数据。首先是如何在第二个代码片段中使用它,将源和目标指定为节点对象。第二个是指定源和目标作为节点数组的索引:
var nodes = [{
id: 0,
reflexive: false,
"x": 169,
"y": 110,
name: "event"
}, {
id: 1,
reflexive: false,
"x": 369,
"y": 110,
name: "email"
}],
lastNodeId = 1,
links = [{
source: 0,
target: 1,
left: false,
right: true
}];
相关文章:
- d3使用链接的节点名称的力图
- 如果某个值在另一个节点中,我如何每秒自动单击一个链接
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- Node.js如何将链接标记解析为节点模块
- 链接(通过url)到infovis(jit)树图中的特定节点
- 如何在D3Javascript中单击节点时显示和隐藏链接和节点
- 正在节点d3.js之间创建链接,当前返回Uncaught TypeError:无法读取属性'weight'
- D3Javascript中的力定向图中节点之间的链接
- 使用运行时逻辑链接节点.js流
- 在强制布局 D3.js 中保持节点之间的动态链接距离
- D3 强制图呈现节点和链接
- 有没有一种简单的方法可以在节点上双击 vis.js 创建超链接/javascript-action
- 有没有像节点.js涡轮链接这样的东西
- 节点.js链接多个承诺(与猫鼬)
- 如何在新窗口中打开 Arbor.js 节点链接
- 如何从节点和链接列表创建 d3 径向树
- 节点JS,从两个链接同步发出HTTPS请求
- 节点 ACL 动态链接
- 是否可以在Cytoscape.js的节点内建立超链接
- 是否有可能改变现有图形的节点/链接的属性?比如我想改变链接/节点的颜色