gpt4 book ai didi

python - 如何使用 PyGraphviz 在无向图的边上添加和显示权重?

转载 作者:行者123 更新时间:2023-11-28 20:49:06 28 4
gpt4 key购买 nike

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 将这些解释为特定类型;查看attribute documentation .

关于python - 如何使用 PyGraphviz 在无向图的边上添加和显示权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15455855/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com