我正在嘗試訪問圖形工具邊緣。例子:假設下面的圖。如何訪問圖形工具邊緣?爲什麼圖形工具邊緣沒有ID?
from graph_tool.all import *
g = Graph()
eprop = g.new_edge_property("int")
g.edge_properties["distance"] = eprop
v0 = g.add_vertex()
v1 = g.add_vertex()
v2 = g.add_vertex()
v3 = g.add_vertex()
v4 = g.add_vertex()
e0 = g.add_edge(v0, v1)
g.ep.distance[e0] = 1
e1 = g.add_edge(v1, v2)
g.ep.distance[e1] = 1
e2 = g.add_edge(v2, v3)
g.ep.distance[e2] = 1
e3 = g.add_edge(v3, v4)
g.ep.distance[e3] = 1
e4 = g.add_edge(v0, v4)
g.ep.distance[e4] = 1
e5 = g.add_edge(v0, v4)
g.ep.distance[e5] = 2
graph_draw(g, vertex_text=g.vertex_index, vertex_font_size=18, output_size=(200, 200), output="Test.png")
有兩個邊緣從頂點0要頂點4,一個具有長度l和一個與長度2.
我的問題是現在如何選擇特定的邊緣,知道邊緣索引。 不幸的是,圖形工具文檔現在指出:「...邊緣不能直接通過其索引獲得,但是如果給定邊的源頂點和目標頂點已知,則可以使用edge()方法獲得邊... 「
但是,在保存並加載圖形之後,變量v0,v1 ...以及e0,e1 ...不再可用。試圖訪問邊緣在圖中的文檔指出:
e = g.edge(0,4)
print(g.edge_index[e])
# > Returns 4
只是返回邊緣的一個頂點,從0到頂點4.如何訪問另一個?知道邊緣指數是4和5.
感謝您的幫助提前!
你'g'是一個圖,而不是多圖。只有多圖可以具有平行邊緣。 – DyZ
我的圖是一個多圖 - 是真的。 https://graph-tool.skewed.de/static/doc/graph_tool.html#graph_tool.Graph 但這不是問題。問題是如何訪問邊緣! – JustSomeone