3

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

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

4

2 回答 2

3

节省时间的一种方法是:

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

    dot original.dot -o intermediary.dot
    

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

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

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

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

于 2013-08-01T21:18:34.397 回答
2

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

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

于 2013-08-02T19:25:58.263 回答