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()
../_images/etiquetes-1.svg