每次我做一些小改动时如何避免重新计算graphviz中的坐标?

时间:2013-08-01 16:03:40

标签: svg coordinates graphviz dot

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

现在,我正在尝试进行一些小的更改,例如着色一些节点/边缘以使它们更加显眼。每次做一些小改动,我都要等4分钟吗?有没有办法避免重新计算坐标并重复使用以前的计算?

2 个答案:

答案 0 :(得分:3)

节省时间的一种方法是:

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

    dot original.dot -o intermediary.dot
    

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

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

    neato -n2 -Tsvg intermediary.dot -o final.svg
    
  4. 当然,您的原始文件不会对中间点文件进行所有更改(您可能需要将其添加回来)。

答案 1 :(得分:2)

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

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