我有一个包含 1000 个节点和 1500 个边的点文件。运行 dot 命令生成 svg 文件大约需要 4 分钟。
现在,我正在尝试进行一些小的更改,例如为某些节点/边缘着色以使它们更加显眼。每次进行小改动时,我是否必须等待 4 分钟?有没有办法避免重新计算坐标并重用之前的计算?
我有一个包含 1000 个节点和 1500 个边的点文件。运行 dot 命令生成 svg 文件大约需要 4 分钟。
现在,我正在尝试进行一些小的更改,例如为某些节点/边缘着色以使它们更加显眼。每次进行小改动时,我是否必须等待 4 分钟?有没有办法避免重新计算坐标并重用之前的计算?
节省时间的一种方法是:
计算坐标并输出为点格式:
dot original.dot -o intermediary.dot
输出文件是具有节点和边缘位置的文本文件。
根据中间文件创建 svg 文件,这次不计算节点/边缘位置:
neato -n2 -Tsvg intermediary.dot -o final.svg
当然,您的原始文件不会包含您对中间点文件所做的所有更改(您可能希望将它们添加回来)。
svg 文件是 xml 文件。因此,如果您可以编写 xsl 模板,则可以对其应用 xslt 转换。
这是一个 xsl 模板,可能会给您一些想法: http: //www.hokstad.com/making-graphviz-output-pretty-with-xsl