【问题标题】:How to avoid recalculation of coordinates in graphviz every time I make a small changes?每次我进行小的更改时,如何避免在graphviz中重新计算坐标?
【发布时间】:2013-08-03 03:25:58
【问题描述】:

我有一个包含 1000 个节点和 1500 个边的点文件。运行 dot 命令生成 svg 文件大约需要 4 分钟。

现在,我正在尝试进行一些小的更改,例如为某些节点/边缘着色以使它们更加显眼。每次进行小改动时,我是否必须等待 4 分钟?有没有办法避免重新计算坐标并重用之前的计算?

【问题讨论】:

    标签: svg coordinates graphviz dot


    【解决方案1】:

    一种节省时间的方法是:

    1. 计算坐标并输出为点格式:

      dot original.dot -o intermediary.dot
      

      输出文件是一个带有节点和边缘位置的文本文件。

    2. 修改中间输出文件(添加颜色等)
    3. 根据中间文件创建 svg 文件,这次不计算节点/边缘位置:

      neato -n2 -Tsvg intermediary.dot -o final.svg
      

    当然,您的原始文件不会包含您对中间点文件所做的所有更改(您可能希望将它们添加回来)。

    【讨论】:

      【解决方案2】:

      svg 文件是 xml 文件。因此,如果您可以编写 xsl 模板,则可以对其应用 xslt 转换。

      这是一个 xsl 模板,可能会给您一些想法: http://www.hokstad.com/making-graphviz-output-pretty-with-xsl

      【讨论】:

        猜你喜欢
        • 2017-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-07
        • 2019-05-24
        • 2011-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多