【问题标题】:Create graph with Graphviz limiting the depth of the representation使用 Graphviz 创建图形,限制表示的深度
【发布时间】:2014-07-14 09:07:39
【问题描述】:

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

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

【问题讨论】:

    标签: graphviz dot


    【解决方案1】:

    您不能使用dot 仅显示图形的一部分,但您可以使用gvpr 以编程方式编辑树,然后使用dot 显示编辑后的树。有关所有详细信息,请参阅 gvpr 手册 here

    举个例子,给定文件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]
    }
    

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

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

    有更复杂的方法来使用gvpr,这可能允许选择要查看的图表部分,而无需像我所做的那样用它们的级别标记节点,但我还不够gvpr 的专家可以准确地说出在没有比我现在有时间更多的研究的情况下如何做到这一点。

    【讨论】:

    • 很好的答案!非常感谢!!
    猜你喜欢
    • 2011-09-23
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多