我有以下点:
digraph G
{
rank="same";
subgraph sys
{
1 [shape=record, label="| | Système"];
}
subgraph obj
{
2 [shape=box, label="Sites"];
3 [shape=box, label="Sociétés de\nmaintenance"];
1 -> 2 [arrowhead=none] [label="a"];
1 -> 3 [arrowhead=none] [label="b"];
}
subgraph constraints
{
4 [style=dotted, label="Surveiller"];
5 [style=dotted, label="Effectuer des\ninterventions"];
4 -> 2 [style=dotted];
4 -> 3 [style=dotted];
5 -> 2 [style=dotted];
5 -> 3 [style=dotted];
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我这张图片:

但是我想按列创建一个子图(第一列为1,第二列为2-3,最后列为4-5)。
有没有办法做到这一点?
对于您的帮助,在此先感谢。
digraph G
{
rank=same
rankdir=LR
subgraph sys
{
1 [shape=record, label="| | Système"]
}
subgraph obj
{
node [shape=box]
2 [label="Sites"]
3 [label="Sociétés de\nmaintenance"]
}
subgraph constraints
{
node [style=dotted]
4 [label="Surveiller"]
5 [label="Effectuer des\ninterventions"]
}
edge [style=invis, weight=2]
2->4
3->5
edge [style=dotted]
4 -> 2
4 -> 3
5 -> 2
5 -> 3
edge [style="" arrowhead=none]
1 -> 2 [label="a"]
1 -> 3 [label="b"]
}
Run Code Online (Sandbox Code Playgroud)
此解决方案与@alexandr_anturis(+1)所建议的解决方案相同,但是我删除了一些不相关的“语法噪音”,因为我觉得这样复杂而强大的规范作为dot任何简化语言的好处。
使用rankdir和适当隐藏边缘weight。
结果图片:
| 归档时间: |
|
| 查看次数: |
2342 次 |
| 最近记录: |