1

我尝试使用 graphviz 在 Python 中绘制多图。

现在我可以在 Python 中以某种方式绘制通常的图表,例如:

import pygraphviz as pgv
G=pgv.AGraph()
G.add_node('a')
G.add_node('b')
G.layout()
G.add_edge('a','b','first')
G.add_edge('a','b','second')
sorted(G.edges(keys=True)) 
G.draw('file.png')

我得到了输出:

在此处输入图像描述

但实际上我想得到多图,即

在此处输入图像描述

但是文档仍然认为它应该区分:

在此处输入图像描述

我不知道绘制多图,而不仅仅是图。

谢谢你的帮助。

添加:

似乎 python 中还没有这样的库可以做到这一点,所以我使用 Wolfram Mathematica 做到了。但问题仍然存在。

添加

现在工作代码看起来是这样的:

import pygraphviz as pgv
G=pgv.AGraph(strict=False)
G.add_node('a')
G.add_node('b')
G.layout()
G.add_edge('a','b','first')
G.add_edge('a','b','second')
sorted(G.edges(keys=True)) 
G.draw('file.png')
4

1 回答 1

6

正如您引用的文档所说,您需要strict=False在创建多边图时指定。由于您没有这样做,因此您的图表不支持平行边。

于 2012-10-18T14:38:02.170 回答