sono riuscito a produrre correttamente il grafico, ma con alcuni ulteriori test notato risultato incoerente consultato due diverse serie di codici:NetworkX - cambiamento di colore/larghezza secondo attributi bordo - risultato incoerente
nx.draw_circular(h,edge_color=[h.edge[i][j]['color'] for (i,j) in h.edges_iter()], width=[h.edge[i][j]['width'] for (i,j) in h.edges_iter()])
nx.draw_circular(h,edge_color=list(nx.get_edge_attributes(h,'color').values()), width=list(nx.get_edge_attributes(h,'width').values()))
La prima la riga produce risultati coerenti, mentre la seconda produce colori/dimensioni errati per gli ordini di spigoli.
Tuttavia, mi sembra che le due righe precedenti si basino entrambe sulla chiamata di funzione per restituire gli attributi per l'ordine dei bordi. Perché i diversi risultati?
Mi sembra un po 'goffo accedere agli attributi con h[][][]
; è possibile accedervi per convenzione di punti, ad es. edge.color for edge in h.edges()
.
Oppure mi sono perso qualcosa?
tkyou! il tuo codice è praticamente lo stesso della mia prima linea di codici. ma, intendi la funzione get_edges_attributes non restituirebbe i bordi in ordine come quello di edges()? – timeislove