使用限制表示深度的Graphviz创建图形
我有一个.dot文件,它编码了一个具有很多级别的二叉决策树。为了使它可视化,我使用命令使用限制表示深度的Graphviz创建图形,graphviz,dot,Graphviz,Dot,我有一个.dot文件,它编码了一个具有很多级别的二叉决策树。为了使它可视化,我使用命令dot-tpngsample.dot>sample.png。但是created.png文件非常庞大,很难理解。因此,我想知道是否有可能限制从命令行输出文件中呈现的级别数,也就是说,我不想修改-dot文件,我只想调整.png输出的生成方式。我读了那本书,但什么也找不到 例如,如果我只想要决策树的前三级,是否有类似的修改器:dot-Tpng sample.dot>sample.png-l3?您不能使用dot仅显示图
dot-tpngsample.dot>sample.png
。但是created.png文件非常庞大,很难理解。因此,我想知道是否有可能限制从命令行输出文件中呈现的级别数,也就是说,我不想修改-dot文件,我只想调整.png输出的生成方式。我读了那本书,但什么也找不到
例如,如果我只想要决策树的前三级,是否有类似的修改器:
dot-Tpng sample.dot>sample.png-l3
?您不能使用dot
仅显示图形的一部分,但您可以使用gvpr
以编程方式编辑树,然后使用dot
显示编辑过的树。有关所有详细信息,请参阅gvpr
手册
例如,给定文件tree.dot
:
digraph G {
n [level = 1]
n -> nL
nL [level = 2]
nL -> nLL
nLL [level = 3]
nLL -> nLLL
nLLL [level = 4]
nLL -> nLLR
nLLR [level = 4]
nL -> nLR
nLR [level = 3]
nLR -> nLRL
nLRL [level = 4]
nLR -> nLRR
nLRR [level = 4]
n -> nR
nR [level = 2]
nR -> nRL
nRL [level = 3]
nRL -> nRLL
nRLL [level = 4]
nRL -> nRLR
nRLR [level = 4]
nR -> nRR
nRR [level = 3]
nRR -> nRRL
nRRL [level = 4]
nRR -> nRRR
nRRR [level = 4]
}
。。。当使用点绘制时,看起来是这样的:
digraph G {
n [level = 1]
n -> nL
nL [level = 2]
nL -> nLL
nLL [level = 3]
nLL -> nLLL
nLLL [level = 4]
nLL -> nLLR
nLLR [level = 4]
nL -> nLR
nLR [level = 3]
nLR -> nLRL
nLRL [level = 4]
nLR -> nLRR
nLRR [level = 4]
n -> nR
nR [level = 2]
nR -> nRL
nRL [level = 3]
nRL -> nRLL
nRLL [level = 4]
nRL -> nRLR
nRLR [level = 4]
nR -> nRR
nRR [level = 3]
nRR -> nRRL
nRRL [level = 4]
nRR -> nRRR
nRRR [level = 4]
}
。。。命令gvpr-i'N[level<4]'tree.dot | dot-Tpng-otree3.png
生成以下图像:
使用gvpr
还有更复杂的方法,可以选择要查看的图形部分,而无需像我所做的那样用级别标记节点,但我对gvpr还不够精通,不能确切地说,如果没有比现在更多的研究,那该怎么做 很好的回答!!非常感谢!!