Etiquetes en les arestes ======================== Vegeu :term:`networkx: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 :mod:`~matplotlib.pyplot` de la biblioteca :mod:`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() .. figure:: etiquetes-1.svg