简单的;“T形”;graphviz中的图
需要使用点/图IZ绘制图形,如下图所示:简单的;“T形”;graphviz中的图,graphviz,Graphviz,需要使用点/图IZ绘制图形,如下图所示: 文本可以在箭头上方,就像graphviz那样。但是如何实现T型布局呢?需要为最上面一行做一个簇吗?dot通常将树分层布局。若要强制边缘不是层分离,可以添加constraint=false选项。比如: digraph { A [shape=point] B [shape=point] C [shape=point] N [label="node"] A -> N [label="text1", constraint=false
文本可以在箭头上方,就像graphviz那样。但是如何实现T型布局呢?需要为最上面一行做一个簇吗?
dot
通常将树分层布局。若要强制边缘不是层分离,可以添加constraint=false
选项。比如:
digraph {
A [shape=point]
B [shape=point]
C [shape=point]
N [label="node"]
A -> N [label="text1", constraint=false]
N -> B [label="text2", constraint=false]
N -> C [label="text3", dir=back]
}
应该有用
请注意,从较低节点到“节点”的边必须向后,因为
dot
从上到下布局树。因此,逻辑边缘方向必须是从上到下的,即使显示方向可能是相反的(这里就是这种情况)。dot
通常将树分层布局。若要强制边缘不是层分离,可以添加constraint=false
选项。比如:
digraph {
A [shape=point]
B [shape=point]
C [shape=point]
N [label="node"]
A -> N [label="text1", constraint=false]
N -> B [label="text2", constraint=false]
N -> C [label="text3", dir=back]
}
应该有用
请注意,从较低节点到“节点”的边必须向后,因为
dot
从上到下布局树。因此,逻辑边缘方向必须是从上到下的,即使显示方向可能是相反的方向(这里就是这种情况)。这是一种可能,对子图使用rank=same
:
digraph g {
node[shape=point, width=0.2];
{
rank=same;
p1 -> n [label="text1"];
n -> p2 [label="text2"];
}
n -> p3 [label="text3", dir=back];
n[label="node", shape=rect, style=rounded];
}
您也可以使用左右布局,而不是自上而下
另一种可能是使用constraint=false
禁用某些边的效果:
digraph g {
node[shape=point, width=0.2];
p1 -> n [label="text1", constraint=false];
n -> p2 [label="text2", constraint=false];
n -> p3 [label="text3", dir=back];
n[label="node", shape=rect, style=rounded];
}
结果是相同的。这是一种可能,对子图使用
rank=same
:
digraph g {
node[shape=point, width=0.2];
{
rank=same;
p1 -> n [label="text1"];
n -> p2 [label="text2"];
}
n -> p3 [label="text3", dir=back];
n[label="node", shape=rect, style=rounded];
}
您也可以使用左右布局,而不是自上而下
另一种可能是使用constraint=false
禁用某些边的效果:
digraph g {
node[shape=point, width=0.2];
p1 -> n [label="text1", constraint=false];
n -> p2 [label="text2", constraint=false];
n -> p3 [label="text3", dir=back];
n[label="node", shape=rect, style=rounded];
}
结果是一样的。对于“约束”,我必须使用RTFM,但第一个示例很酷……)我必须为“约束”设置RTFM,但第一个示例很酷……)泰。