Преобразование точки в png в python
У меня есть точечный файл, сгенерированный из моего кода, и хочу отобразить его на моем выходе. Для этого я видел в сети, что команда что-то вроде этого на cmd
dot -Tpng InputFile.dot -o OutputFile.png for Graphviz
Но моя проблема в том, что я хочу использовать это встроенное в моей программе python.
Как я могу это сделать?
Я смотрел на pydot, но не мог найти ответ там.....
Ответы
Ответ 1
pydot требует, чтобы бинарные файлы GraphViz были установлены в любом случае, поэтому, если вы уже создали свой точечный файл, вы можете просто вызвать точку непосредственно непосредственно. Например:
from subprocess import check_call
check_call(['dot','-Tpng','InputFile.dot','-o','OutputFile.png'])
Ответ 2
Загрузите файл с помощью pydot.graph_from_dot_file
, чтобы получить экземпляр класса pydot.Dot
. Затем запишите его в файл PNG с помощью метода write_png
.
import pydot
(graph,) = pydot.graph_from_dot_file('somefile.dot')
graph.write_png('somefile.png')
Ответ 3
Вы можете использовать pygraphviz. Когда вы загрузите график, вы можете сделать
graph.draw('file.png')
Ответ 4
Ты можешь попробовать:
import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
os.system('dot -Tpng random.dot -o random.png')