networkx - changement de couleur/largeur en fonction à bord d'attributs non conforme au résultat

J'ai réussi à produire le graphique correctement, mais avec un peu plus de tests de noter incompatible résultat pour les deux autres lignes de codes:

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 première ligne des résultats de la cohérence des résultats, tandis que le second produire de la mauvaise couleur, de taille, par les ordres de bords.

Cependant, il me semble les deux lignes ci-dessus que reposent tous deux sur l'appel de la fonction pour retourner les attributs par l'ordre des bords. Pourquoi les différents résultats?

Il semble un peu maladroit pour moi d'accéder à des attributs avec h[][][]; est-il possible d'y accéder par le point de la convention, par exemple edge.color for edge in h.edges().

Ou ai-je raté quelque chose?

OriginalL'auteur timeislove | 2014-09-03