python中的open.dot格式的图形

python中的open.dot格式的图形,python,dot,Python,Dot,由于我可以用python中的matplotlib绘制曲线,我想知道是否有任何方法可以以某种方式显示.dot图。我有一个描述图形的字符串: graph name{ 1--2; } 以某种方式将其传递给查看器程序?可能不完全是您想要做的,但您可以使用图形并将其打印到文件中: import pygraphviz as pgv G=pgv.AGraph() G.add_edge('1','2') G.layout() G.draw('file.png') (也可以使用G=pgv.AGraph('fi

由于我可以用python中的matplotlib绘制曲线,我想知道是否有任何方法可以以某种方式显示.dot图。我有一个描述图形的字符串:

graph name{
1--2;
}

以某种方式将其传递给查看器程序?

可能不完全是您想要做的,但您可以使用图形并将其打印到文件中:

import pygraphviz as pgv
G=pgv.AGraph()
G.add_edge('1','2')
G.layout()
G.draw('file.png')
(也可以使用G=pgv.AGraph('file.dot')导入.dot文件)

然后,您可以始终使用Image或openCV加载文件并在查看器中显示

我不认为pygraphviz允许你直接这么做

编辑:

我最近发现了另一种方法,并记住了你的问题:让你这么做。以下是方法:

或者直接使用NetworkX创建图形。NetworkX的大多数命令与pygraphviz中的命令相同,这很方便。然后只需发送到matplotlib并在那里打印即可:

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edge('1','2')
nx.draw(G)
plt.show()
或者,您可以通过pygraphviz导入.dot文件,然后将其转换为networkx对象:

import pygraphviz as pgv
import networkx as nx
import matplotlib.pyplot as plt
Gtmp = pgv.AGraph('file.dot')
G = nx.Graph(Gtmp)
nx.draw(G)
plt.show()

现在您有了更多选项:)

Python3支持?仅限命令行:
dot-Tpng mygraph.dot-o mygraph.png