将dot转换为png的Python方法
我有一个从我的代码生成的点文件,想把它显示在我的输出中。为此,我在网上看到在cmd
中可以使用类似这样的命令。
dot -Tpng InputFile.dot -o OutputFile.png for Graphviz
但是我的问题是,我想在我的Python程序中使用这个功能。
我该怎么做呢?
我查看了pydot,但似乎没有找到答案……
9 个回答
6
你可以使用 pygraphviz 这个工具。一旦你加载了一个图形,你就可以执行以下操作:
graph.draw('file.png')
71
使用 pydot.graph_from_dot_file
来加载文件,这样你就能得到一个 pydot.Dot
类的实例。接着,使用 write_png
方法把它写入一个 PNG 文件。
import pydot
(graph,) = pydot.graph_from_dot_file('somefile.dot')
graph.write_png('somefile.png')
28
pydot 这个工具需要先安装 GraphViz 的程序,所以如果你已经生成了 dot 文件,那不如直接自己调用 dot 来处理。比如说:
from subprocess import check_call
check_call(['dot','-Tpng','InputFile.dot','-o','OutputFile.png'])