我正在尝试在graphviz中编写一个子图,但是虽然我喜欢主图来保留自己节点的排名,但我希望子图1能够得到一个压缩形式,即将其布局限制在一个正方形中。
这是我获得的实际图表:
这是生成它的代码(我实际上是使用python lib来生成输出图像):
subgraph cluster_15_ {
graph [aspect=1 concentrate=true ordering=out ratio=compress size="1.0,1.0!"]
node [fixedsize=true shape=circle width=0.4]
edge [dirType=forward len=0.5]
cluster_15_0 [label=0]
cluster_15_2 [label=2]
cluster_15_3 [label=3]
cluster_15_4 [label=4]
cluster_15_5 [label=5]
cluster_15_7 [label=7]
cluster_15_8 [label=8]
cluster_15_11 [label=11]
cluster_15_12 [label=12]
cluster_15_13 [label=13]
cluster_15_15 [label=15]
cluster_15_0 -> cluster_15_2
cluster_15_5 -> cluster_15_3
cluster_15_3 -> cluster_15_4
cluster_15_2 -> cluster_15_5
cluster_15_5 -> cluster_15_7
cluster_15_7 -> cluster_15_8
cluster_15_12 -> cluster_15_11
cluster_15_15 -> cluster_15_12
cluster_15_15 -> cluster_15_13
cluster_15_4 -> cluster_15_15
}
我希望将节点放入一个4x4的盒子中(弧线可以向上,向下,这不是问题)。
答案 0 :(得分:1)
这将创建 4 个等级,每个等级包含 4 个节点
digraph four{
subgraph cluster4{
edge [ style=invis]
// set up canks (rows)
{rank=same 0-> 1-> 2-> 3}
{rank=same 4-> 5-> 6-> 7}
{rank=same 8-> 9-> 10-> 11}
{rank=same 12-> 13-> 14-> 15}
// set up files (columns)
{ 0-> 4-> 8-> 12}
{ 1-> 5-> 9-> 13}
{ 2-> 6-> 10-> 14}
{ 3-> 7-> 11-> 15}
edge [constraint=false style=solid]
0->2
2->5
5->3
5->7
3->4
7->8
4->15
15->12
15->13
12->11
}
}