Ich habe ein Diagramm eines Netzwerkdiagramms, in dem die Kantenfarbe von den den jeweiligen Kanten zugewiesenen Gewichten abhängt (mit a_netw
dem nx.Graph):Legende zum Netzwerkdiagramm hinzufügen, um die Färbung der Knoten zu erklären
a_netw_edges = a_netw.edges()
a_netw_weights = [a_netw[source][dest]['weight'] for source, dest in a_netw_edges]
a_netw_colors = [plt.cm.Blues(weight*15) for weight in a_netw_weights]
nx.draw_networkx(a_netw, edges=a_netw_edges, width=1, edge_color=a_netw_colors)
Zu diesem Graph möchte ich eine Legende hinzufügen, die die Verbindung zwischen den Gewichten und den Farben explizit macht; wie in einer Heatmap, die pcolor
verwendet.
Während ich eine ungefähre Vorstellung davon, wie müssen anfangen:
fig, axes = plt.subplots(nrows=2)
nx.draw_networkx(a_netw, edges=a_netw_edges, width=1, edge_color=a_netw_colors, ax=axes[0])
axes[0].get_xaxis().set_visible(False)
axes[0].get_yaxis().set_visible(False)
gradient = np.linspace(0, 1, 256)
gradient = np.vstack((gradient, gradient))
axes[1].imshow(gradient, aspect=3, cmap=plt.cm.Blues)
axes[1].get_yaxis().set_visible(False)
plt.tight_layout()
Ich habe keine Ahnung, wie die folgenden Schritte zu tun:
- die richtigen Zecken auf der entsprechenden Achse hinzufügen die bekommen Verbindung mit den Gewichten.
- Zeichnen Sie es vertikal statt horizontal.
bitte alle relevanten Import-Anweisungen an die Spitze des Codes und bieten beispielsweise Daten, möglicherweise in Form eines minimalen Beispiel Netzwerk hinzufügen, die ausreichend ist, neu zu erstellen, was Sie zu tun versuchen. – jlarsch