如何使用 PyGraphviz 添加并显示无向图边缘的权重?

2024-02-28

import pygraphviz as pgv
A = pgv.AGraph()
A.add_node('Alice')
A.add_node('Emma')
A.add_node('John')
A.add_edge('Alice', 'Emma')
A.add_edge('Alice', 'John')
A.add_edge('Emma', 'John')
print A.string()
print "Wrote simple.dot"
A.write('simple.dot')  # write to simple.dot
B = pgv.AGraph('simple.dot')  # create a new graph from file
B.layout()  # layout with default (neato)
B.draw('simple.png')  # draw png
print 'Wrote simple.png'

我想给边缘添加权重,这也应该显示在图中。


您可以在创建边时向边添加属性:

A.add_edge('Alice', 'Emma', weight=5)

或者您可以稍后设置它们:

edge = A.get_edge('Alice', 'Emma')
edge.attr['weight'] = 5

要将文本信息添加到边缘,请给它们一个label属性改为:

edge = A.get_edge('Alice', 'Emma')
edge.attr['label'] = '5'

所有属性在内部都存储为字符串,但 GraphViz 将这些解释为特定类型;看到属性文档 http://www.graphviz.org/doc/info/attrs.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PyGraphviz 添加并显示无向图边缘的权重? 的相关文章

随机推荐