使用 Graphviz 创建图形限制表示的深度

tas*_*hka 3 dot graphviz

我有一个 .dot 文件,它对具有很多级别的二叉决策树进行编码。为了可视化它,我使用命令dot -Tpng sample.dot > sample.png. 但是创建的 .png 是巨大的并且难以理解。所以我想知道是否可以限制从命令行输出文件中呈现的级别数,即我不想修改 -dot 文件,我只想调整 .png 输出的生成方式. 我阅读了文档,但找不到任何内容。

例如,如果我只想要决策树的前三个级别,是否有任何修饰符,例如:dot -Tpng sample.dot > sample.png -L 3

Sim*_*mon 5

您不能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]
}
Run Code Online (Sandbox Code Playgroud)

...绘制时看起来像这样dot

在此处输入图片说明

...该命令gvpr -i 'N [level < 4]' tree.dot | dot -Tpng -otree3.png生成以下图像:

在此处输入图片说明

有更复杂的使用方法gvpr可能允许选择要查看的图形部分,而无需像我所做的那样用它们的级别标记节点,但我不够专业,gvpr无法确切说明如何这可能不需要比我现在有时间更多的研究来完成。