【发布时间】:2019-12-23 01:57:05
【问题描述】:
我正在尝试扩展此rectangular layout example。目标是生成类似的布局,但节点的动态分布(在合理范围内,例如每行不超过 20 个)沿顶部和底部。 (目前,边总是 3 个节点。)
我当前的简化基本示例使用以下代码:
digraph {
rankdir="LR";
node [group=top];
aa -> ab -> ac -> ad -> ae -> af -> ba;
{ rank="same"; ba -> bb -> ca; }
node [group=bot];
da -> cc -> cb -> ca [ dir="back" ];
{ rank="same"; aa -> db -> da [ dir="back"]; }
}
我遇到的所有 SO 解决方案都建议使用不可见节点,但这似乎不切实际,因为我将计算出最小公倍数,相应地间隔节点,并创建一个不可见边来锁定它们地方。如果没有更好的选择,我想把它作为最后的手段。
尝试了其他几种方法,例如为每个边缘分别计算和设置minlen,使用clusterrank、nodesep、ranksep、constraint等设置。
关于如何沿布局的顶部和底部均匀分布节点的任何其他想法?
(我与 GraphViz 无关。欢迎使用其他软件库。最好是免费的并带有 Python API。)
【问题讨论】:
标签: layout graphviz diagram dot