将dot转换为png的Python方法

48 投票
9 回答
118349 浏览
提问于 2025-04-16 13:45

我有一个从我的代码生成的点文件,想把它显示在我的输出中。为此,我在网上看到在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'])

撰写回答