在graphviz中强制从左到右的节点顺序?
我想用graphviz画一个决策树图 我要绘制的图形如下所示: 我使用的是以下dot语言:在graphviz中强制从左到右的节点顺序?,graph,graphviz,decision-tree,graph-visualization,Graph,Graphviz,Decision Tree,Graph Visualization,我想用graphviz画一个决策树图 我要绘制的图形如下所示: 我使用的是以下dot语言: graph a { A [shape=box; label="A"] B [shape=box; label="B"] al [shape=none; label="0"] bl [shape=none; label="1"] br [shape=none; label="0"] A -- al [label="0"]; A -- B [label="1"]; B --
graph a {
A [shape=box; label="A"]
B [shape=box; label="B"]
al [shape=none; label="0"]
bl [shape=none; label="1"]
br [shape=none; label="0"]
A -- al [label="0"];
A -- B [label="1"];
B -- bl [label="0"];
B -- br [label="1"];
}
但是,我的结果图如下所示:
如何强制graphviz生成的节点从左到右的顺序?此外,就决策树而言,即使从左到右的顺序不同,这两棵树是否完全相同?要解决此问题,您只需更改
B
和al
节点的顺序:
graph a {
A [shape=box; label="A"]
al [shape=none; label="0"]
B [shape=box; label="B"]
bl [shape=none; label="1"]
br [shape=none; label="0"]
A -- al [label="0"];
A -- B [label="1"];
B -- bl [label="0"];
B -- br [label="1"];
}
顺便说一句,graphviz网站上有一个标题,如果有机会,你可以看一下。请注意,任何点击这篇文章的人,因为标题是“从左到右”@marapet有一个很好的答案,注意到外观的顺序并不能保持布局。如果您发现在图表中的某个点建立了左右布局,然后被后续边打断,请尝试向后续边添加
constraint=false
,以防止它们更改现有的l-r布局。您使用的是什么语言?@TimBiegeleisen Hi Tim,我只是手工编写.gv文件。