3
我有一个networkx图的图,其中边缘颜色取决于使用以下代码(与a_netw
nx.Graph)分配给相应边的权重:向网络添加图例以解释节点的着色
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)
对于这个图表,我想添加一个图例,使权重和颜色之间的连接明确;例如在使用pcolor
的热图中。
虽然我如何开始一个粗略的想法:
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()
我不知道该怎么做以下步骤:
- 添加在相关轴正确蜱得到与权重连接。
- 垂直而不是水平地绘制它。
请所有相关的导入语句添加到代码的顶部,并提供示例数据,可能在一个小例子,网络足以重现你正在尝试做的形式。 – jlarsch