0
我试图动态放置不同的代谢路径(节点遵循父节点中包含的预设布局)。动态组合'预设'布局
通常我会为每个子节点定义位置,以免与父节点重叠。然而,图形(包含请求节点的生成的json)是动态生成的,所以这不是一个选项。
有没有一种方法可以实现这一点,因为正在生成json时,缺少重新计算每个节点的位置。
如:请求糖酵解 - > TCA - >尿素
我试图动态放置不同的代谢路径(节点遵循父节点中包含的预设布局)。动态组合'预设'布局
通常我会为每个子节点定义位置,以免与父节点重叠。然而,图形(包含请求节点的生成的json)是动态生成的,所以这不是一个选项。
有没有一种方法可以实现这一点,因为正在生成json时,缺少重新计算每个节点的位置。
如:请求糖酵解 - > TCA - >尿素
如果你想要做的事就像手册,你可能不得不使用一些代码,而不是只需指定一个布局。
let shiftPosition = (pos, delta) => ({ x: pos.x + delta.x, y: pos.y + delta.y });
let shiftNode = (node, delta) => shiftPosition(node.position(), delta);
let findDelta = parent => ({ x: 100, y: 100 }); // determine yourself
cy.nodes(':parent').forEach(parent => {
let delta = findDelta(parent);
parent.children().positions(node => shiftNode(node, delta));
});
想尽办法,谢谢你的反应! –