2016-01-18 6 views
0

Итак, после поиска нескольких часов, я не могу найти простой ответ на мою проблему. У меня есть заполненный контур участка (contourf), для которого я хочу, отображаемые на Colorbar значения быть между -45 и 45.Python matplotlib colorbar range

fig, ax = plt.subplots() 
plt.contourf(time_array, f, half_CP, 30, cmap=cm.seismic, vmin=-45, vmax=45) 
cb = plt.colorbar() 
plt.clim(-45,45) 

клим успешно сжат диапазон цветов, отображаемых в моем Colorbar, однако мой Colorbar все еще отображает значения от -80 до 80 ... другими словами, мой vmin/vmax не работает. Я попытался поместить этот аргумент в строку plt.colorbar, но это тоже не повлияло.

Я не удивлюсь, если это что-то супер-простое, но я пытался найти ошибку/ошибку/то, что мне не хватает в течение нескольких часов. Буду признателен за любую помощь!

+0

Я думаю, вы можете вручную установить тики для colorbar, как в [этом примере] (http://matplotlib.org/examples/pylab_examples/colorbar_tick_labelling_demo.html). Но это, вероятно, не самое простое/лучшее решение. – Evert

+0

Выполнение этого задает правильные расположения тиков, но, к сожалению, не уменьшает цветную панель. – Yoshi

ответ

-1

Обычно я определяю несколько уровней для контура, что также ограничивает диапазон цветовой панели.

levels = np.arange(-45,45,1) 
CS1 = plt.contourf(x,y,z,levels,cmap=cm.get_cmap('RdYlBu_r',len(levels)-1), extend='both') 
plt.colorbar(CS1,orientation='vertical',shrink=0.5, format='%.2f') 

Надеюсь, это поможет. Cheers, Trond

+0

Определение количества уровней приводит к тому, что цветная панель отображает между этими значениями. Однако это также занимает гораздо больше времени (я обычно использую только 30 уровней, а не 90!). Конечно, есть более простой способ просто рассказать цветной панели только для определения значений между -45 и 45. Он работает просто для осей x и y, я в замешательстве, почему для этого гораздо труднее. – Yoshi

+0

Чтобы использовать меньшее количество уровней, просто уменьшите их уровни = no.arange (-45,45,3) –

 Смежные вопросы

  • Нет связанных вопросов^_^