Graphviz 格拉夫维兹。如何自动将节点放置在正确的位置
此代码将节点放置在正确的位置Graphviz 格拉夫维兹。如何自动将节点放置在正确的位置,graphviz,dot,Graphviz,Dot,此代码将节点放置在正确的位置 digraph g { edge [dir=none]; node [shape=box,fillcolor="palegreen",style="filled"]; a -> b; a -> c b -> c b -> d b -> e d -> e c -> f e -> f a [label="A",pos="150,15
digraph g {
edge [dir=none];
node [shape=box,fillcolor="palegreen",style="filled"];
a -> b;
a -> c
b -> c
b -> d
b -> e
d -> e
c -> f
e -> f
a [label="A",pos="150,155!"];
b [label="B",fillcolor="red",pos="75,75!"];
c [label="C",pos="230,75!"];
d [label="D",pos="0,0!"];
e [label="E",pos="150,0!"];
f [label="F",pos="300,0!"];
}
如何在不指定节点位置的情况下放置这样的节点?试试看
digraph g {
edge [dir=none];
node [shape=box,fillcolor="palegreen",style="filled"];
a -> b;
a -> c
b -> c
b -> d
b -> e
d -> e
c -> f [constraint = false]; // Use to relax weight of edge
e -> f
{ rank = same; b; c; } // Force specific nodes onto same height
{ rank = same; d; e; f; }
a [label="A"];
b [label="B",fillcolor="red"];
c [label="C"];
d [label="D"];
e [label="E"];
f [label="F"];
}
边属性constraint=false
用于防止边影响边的位置。如果准确的水平定位不重要,请取出此项以避免以后出现问题
rank=same
属性用于将节点强制到图形中的同一级别,并将覆盖由边驱动的自然层次。还可以使用“约束”属性在确定高度时对某些边进行折扣
选择取决于您的源数据结构,以及您是否希望能够在不进行任何编辑的情况下生成图形