Я пытаюсь построить цветовую полосу, и я попытался использовать cmap.set_under()
и cmap.set_over()
, однако они не отображаются на графике, может ли кто-нибудь мне помочь?
Вот код:
city = 'Portugal, Lisbon'
G = ox.graph_from_place(city, network_type='drive', simplify=True)
G_nx = nx.relabel.convert_node_labels_to_integers(G)
nc =[whatever you would like]
ns=[whatever you would like]
cmap = copy(plt.cm.get_cmap('inferno_r'))
cmap.set_over((0.001462, 0.000466, 0.013866, 1.0))
cmap.set_under((0.988362, 0.998364, 0.644924, 1.0))
norm=plt.Normalize(vmin=0.8, vmax=1.5)
sm = mpl.cm.ScalarMappable(norm=norm, cmap=cmap)
sm.set_array([])
fg_color = 'black'
fig, ax = ox.plot.plot_graph(G_nx, node_color=nc, node_size=ns, edge_linewidth=0.8, figsize = (80,40), show=False, bgcolor = 'white')
cb = fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax, orientation='vertical', aspect=50, shrink=0.8)
cb.set_label('r', fontsize = 60, color = fg_color, rotation = 'horizontal')
cb.ax.tick_params(labelsize=40, color = fg_color)
# set colorbar tick color
cb.ax.yaxis.set_tick_params(color=fg_color)
cb.outline.set_edgecolor(fg_color)
cb.cmap.set_over('k')
plt.setp(plt.getp(cb.ax.axes, 'yticklabels'), color=fg_color)
fig.set_frameon(True)
fig.savefig('dhgdhg.png', facecolor=fig.get_facecolor(), bbox_inches='tight')
Заранее спасибо