Etiquetes en les arestes¶
Vegeu edge attribute.
Importem la biblioteca NetworkX.
>>> import networkx as nx
Creem un graf buit.
>>> g = nx.Graph()
Hi afegim una aresta amb una etiqueta.
>>> g.add_edge(1, 2, via='B-20')
Consultem l’etiqueta de l’aresta.
>>> g[1][2]['via']
'B-20'
>>> g.edges[1, 2]['via']
'B-20'
Afegim una nova etiqueta a l’aresta.
>>> g[1][2]['tipus'] = 'autovia'
>>> g.edges[1, 2]['tipus'] = 'autovia'
Consultem totes les etiquetes de l’aresta.
>>> g[1][2] == {'via': 'B-20', 'tipus': 'autovia'}
True
>>> g.edges[1, 2] == {'via': 'B-20', 'tipus': 'autovia'}
True
Modifiquem una etiqueta de l’aresta.
>>> g[1][2]['tipus'] = 'autopista'
>>> g[1][2]['tipus']
'autopista'
>>> g.edges[1, 2]['tipus'] = 'autogir'
>>> g.edges[1, 2]['tipus']
'autogir'
Hi afegim un camí.
>>> nx.add_path(g, [2,3,5], via='AP-7')
Consultem l’etiqueta via d’aquestes arestes.
>>> g[2][3]['via']
'AP-7'
>>> g.edges[3, 5]['via']
'AP-7'
Recorrem les arestes incidents a 2 per consultar la via.
>>> for v in sorted(g[2]):
... print(v, g[2][v]['via'])
1 B-20
3 AP-7
>>> for v1, v2, v in sorted(g.edges(2, data='via')):
... print(v1, v2, v)
2 1 B-20
2 3 AP-7
>>> for v1, v2, d in sorted(g.edges(2, data=True)):
... print(v1, v2, d['via'])
2 1 B-20
2 3 AP-7
Importem el mòdul pyplot de la biblioteca matplotlib.
>>> import matplotlib.pyplot as plt
Visualitzem el graf amb l’etiqueta via a les arestes.
>>> pos = nx.nx_agraph.graphviz_layout(g)
>>> edge_labels = {(u, v): f"{data}" for u, v, data in g.edges(data='via')}
>>> nx.draw_networkx(g, pos)
>>> r = nx.draw_networkx_edge_labels(g, pos, edge_labels=edge_labels)
>>> plt.show()