У меня есть контурный график в базовой карте matplotlib - пунктирные отрицательные контуры, положительное твердое тело. Цветная полоса для этого поля рисуется неправильно. Тики на цветовой шкале правильные [-100,100], однако полоса сжимается, черточки, которые должны выглядеть равномерно распределенными по всему диапазону цветовой полосы, сжимаются около нуля. Код размещен ниже
xlon,xlat = np.meshgrid(lon,lat)
mapLineColor = [0,0,0,0.5]
panel_labels = ['(a)']
# initialize the plot
fig,ax = PP.subplots(1,1,figsize=(10,8))
# initialize the map
#m = Basemap(projection='robin',lon_0=-120,resolution='c',ax=ax)
m = Basemap(projection='merc', ax=ax, lat_0=35, lon_0=210,
resolution = 'h', area_thresh = 1000.0,
llcrnrlon=90, llcrnrlat=-10,
urcrnrlon=295, urcrnrlat=75)
# plot height contorus
norm = mpl.colors.Normalize(vmin=-100,vmax=100)
levels = np.arange(-100,120,20)
#create the z contour plot
clptn = m.contour(xlon, xlat, z250_nat100nat_pnw_avg, levels=levels, vmin=-100,vmax=100, latlon=True, colors='b',norm=norm)
# add an axis for the z colorbar
cbar_ax = fig.add_axes([-0.025, 0.275, 0.02, 0.45])
# draw the colorbar
cb = fig.colorbar(clptn, cax=cbar_ax, label='z250 Height Anomaly [m]')
#cb.set_ticks(levels)
cb.ax.yaxis.set_ticks(levels)
cbar_ax.set_yticklabels(levels)
cb.set_clim([-100,100])
cb.ax.yaxis.set_ticks_position('left')
cb.ax.yaxis.set_label_position('left')
Это вывод:
Что не так с моим кодом, что цветовая полоса не охватывает весь диапазон контуров?