我可以设置多个物理场吗?
Can I set multiple physics?
有没有办法为不同的边集定义不同的物理特性?
我想要实现的是,将同一集群中的节点拉到一起,将不同集群中的节点推开。
目前我在选项中定义物理:
const options = {
physics: {
enabled: true,
barnesHut: {
gravitationalConstant: -80000,
springConstant: 0.001,
springLength: 200,
centralGravity: 0,
},
},
};
在阅读文档时,我发现无法设置不同的物理特性。
但是有一种方法可以停用特定节点或边的物理。
因此您必须覆盖节点/边的全局选项。
这可以通过在 node/edge 本身中定义选项来实现。
var nodes = new vis.DataSet([
{ id: 1, label: "Node 1" },
{ id: 2, label: "Node 2" },
{ id: 3, label: "Node 3" },
{ id: 4, label: "Node 4" },
{ id: 5, label: "Node 5" }
]);
// create an array with edges
var edges = new vis.DataSet([
{ from: 1, to: 3, physics: false },
{ from: 1, to: 2, physics: false },
{ from: 2, to: 4 },
{ from: 2, to: 5 },
{ from: 3, to: 3 }
]);
// create a network
var container = document.getElementById("mynetwork");
var data = {
nodes: nodes,
edges: edges
};
var options = {
physics: {
enabled: true,
}
};
var network = new vis.Network(container, data, options);
在此示例中,边 [from 1 to 3] 和 [from 1 to 2] 覆盖全局物理选项,因此它们不充当弹簧。
有没有办法为不同的边集定义不同的物理特性?
我想要实现的是,将同一集群中的节点拉到一起,将不同集群中的节点推开。
目前我在选项中定义物理:
const options = {
physics: {
enabled: true,
barnesHut: {
gravitationalConstant: -80000,
springConstant: 0.001,
springLength: 200,
centralGravity: 0,
},
},
};
在阅读文档时,我发现无法设置不同的物理特性。
但是有一种方法可以停用特定节点或边的物理。
因此您必须覆盖节点/边的全局选项。 这可以通过在 node/edge 本身中定义选项来实现。
var nodes = new vis.DataSet([
{ id: 1, label: "Node 1" },
{ id: 2, label: "Node 2" },
{ id: 3, label: "Node 3" },
{ id: 4, label: "Node 4" },
{ id: 5, label: "Node 5" }
]);
// create an array with edges
var edges = new vis.DataSet([
{ from: 1, to: 3, physics: false },
{ from: 1, to: 2, physics: false },
{ from: 2, to: 4 },
{ from: 2, to: 5 },
{ from: 3, to: 3 }
]);
// create a network
var container = document.getElementById("mynetwork");
var data = {
nodes: nodes,
edges: edges
};
var options = {
physics: {
enabled: true,
}
};
var network = new vis.Network(container, data, options);
在此示例中,边 [from 1 to 3] 和 [from 1 to 2] 覆盖全局物理选项,因此它们不充当弹簧。