我尝试使用 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')
请您参考如下方法:
正如您引用的文档所说,您需要在创建多边图时指定 strict=False 。由于您没有这样做,您的图形不支持平行边。
