我尝试使用 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')
我得到输出:
![enter image description here](https://i.stack.imgur.com/Vg8Ap.png)
但实际上我想要得到多重图,即
![enter image description here](https://i.stack.imgur.com/EKsqT.png)
但文档仍然表明它应该区分:
![enter image description here](https://i.stack.imgur.com/SzCIC.png)
我不知道如何绘制多重图,而不仅仅是图形。
谢谢你的帮助。
添加:
python 中似乎还没有这样的库可以做到这一点,所以我使用 Wolfram Mathematica 做到了。但问题仍然悬而未决。
Addition
现在工作代码看起来像这样:
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
创建多边图时。由于您没有这样做,因此您的图表不支持平行边。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)