cytoscape.js - 如何在 cytoscape.js 中垂直对齐 dagre 父节点
解决方案
不幸的是,它们都是维护不善的可视化算法,因此它们没有那么多功能。
我建议您在算法存储库中打开一个问题,在其中解释如何改进它。在这种情况下,您希望有一个更好的可视化方面。 https://github.com/cytoscape/cytoscape.js-dagre
您还可以为 dagre 项目做出贡献,将这个美学标准添加到图表中。
最后,如果您想要更好的方面,您可以在布局执行后对图表应用 tweek。因此,您可以考虑一种使父节点垂直排列的算法,然后在代码中应用。
例如,你可以做一些事情来让节点离他们的父亲最近,而且你可以在杠杆 n 中对他们父亲的重心的级别 n + 1 中的节点进行排序。(让我知道我是否已经说清楚了)
我从照片中看到你有组,组内的节点有不同的父亲,所以如果你把节点与他们的父亲对齐,那么你可以
- 重叠的节点
- 重叠组
- 宽度过大的组
(让我知道我是否已经把问题说清楚了)
我记得你如何在 cytoscape.js 中定位节点
cyGraph.startBatch(); // for bach the differences and apply only once at the end
// random layout. you have to use yours
cyGraph.nodes().positions(( node, i ) => {
return {
x: Math.random() * cyGraph.width(),
y: Math.random() * cyGraph.height(),
};
});
cyGraph.endBatch();
推荐阅读
- vue.js - 部署在 Azure 应用服务上的 Vue 应用给出“您要查找的资源已被删除、名称已更改或暂时不可用”。
- node.js - Cpanel 中的角度 SSR 部署
- vue.js - 如何从Vue中动态添加的元素调用方法
- android - 使用列表视图选定项目设置布局 - Android
- reactjs - 将变量从 Stack 传递到 BottomTab 导航器
- amazon-web-services - 使用 Amazon EC2 的 Webhook
- typescript - 冰沙图表用电子 vuejs 显示为空
- javascript - 如何部分更新 MongoDB 中的字段,以便新字段将一些文本添加到现有记录
- parallel-processing - 如何将 numactl 与 slurm 一起使用?
- java - android(Rest Api)中每行中带有接受和拒绝请求按钮的列表视图