Как добавить Matplotlib Colorbar Ticks

На переполнение стека много вопросительных вопросов matplotlib, но я не могу понять их, чтобы решить мою проблему.

Как установить yticklabels на цветной панели?

Вот пример кода:

from pylab import * from matplotlib.colors import LogNorm import matplotlib.pyplot as plt f = np.arange(0,101) # frequency t = np.arange(11,245) # time z = 20*np.sin(f**0.56)+22 # function z = np.reshape(z,(1,max(f.shape))) # reshape the function Z = z*np.ones((max(t.shape),1)) # make the single vector to a mxn matrix T, F = meshgrid(f,t) fig = plt.figure() ax = fig.add_subplot(111) plt.pcolor(F,T,Z, norm=LogNorm(vmin=z.min(),vmax=z.max())) plt.xlim((t.min(),t.max())) mn=int(np.floor(Z.min())) # colorbar min value mx=int(np.ceil(Z.max())) # colorbar max value md=(mx-mn)/2 # colorbar midpoint value cbar=plt.colorbar() # the mystery step ??????????? cbar.set_yticklabels([mn,md,mx]) # add the labels plt.show() 

3 Solutions collect form web for “Как добавить Matplotlib Colorbar Ticks”

Обновите тики и метки:

 cbar.set_ticks([mn,md,mx]) cbar.set_ticklabels([mn,md,mx]) 

Рабочий пример (для любого диапазона значений) с пятью тиками вдоль строки:

 m0=int(np.floor(field.min())) # colorbar min value m4=int(np.ceil(field.max())) # colorbar max value m1=int(1*(m4-m0)/4.0 + m0) # colorbar mid value 1 m2=int(2*(m4-m0)/4.0 + m0) # colorbar mid value 2 m3=int(3*(m4-m0)/4.0 + m0) # colorbar mid value 3 cbar.set_ticks([m0,m1,m2,m3,m4]) cbar.set_ticklabels([m0,m1,m2,m3,m4]) 

treenick ответил мне, но если ваш цветной шкала масштабируется между 0 и 1, этот код не будет отображать тики, если ваши fields не масштабируются между 0 и 1. Поэтому вместо этого я использовал

 m0=int(np.floor(field.min())) # colorbar min value m4=int(np.ceil(field.max())) # colorbar max value num_ticks = 10 # to get ticks ticks = np.linspace(0, 1, num_ticks) # get labels labels = np.linspace(m0, m1, num_ticks) 

Если вы хотите разложить метки, вы можете сделать индексацию списка python следующим образом: предполагая пропустить все остальные тики

 ticks = ticks[::2] labels = labels[::2] 
  • В matplotlib, как я могу построить многоцветную линию, например радугу
  • matplotlib, savefig: настройка DPI игнорируется
  • Как вы можете очистить текстовое поле Matplotlib, которое было ранее нарисовано?
  • Python / Matplotlib - диапазон и отображаемые значения Colorbar
  • Как imshow обрабатывает альфа-канал с входом M x N x 4?
  • Вычисление с несколькими Y-осями
  • Получить данные двоичного изображения из холста MatPlotLib?
  • как сделать квадратные подсети в matplotlib с помощью тепловых карт?
  •  
    Interesting Posts for Van-Lav

    Форматирование вывода латекса (to_latex)

    Удалить последний компонент пути в строке

    Файл шрифта, загруженный из временного файла, кажется неправильным

    Разница между выходом (0) и выходом (1) в Python

    как передать ключ поиска и получить результат через bs4

    python, регулярное выражение и специальный символ

    Wxpython Переключение клавиатуры

    python: игнорирование ведущих «>>>» и «…» в интерактивном режиме?

    Функциональное решение для алгоритма коротких путей в Python

    Google App Engine – запрос класса query_string

    Как импортируется работа. Почему импортированные модули не наследуют другие импортированные модули

    Python: как работать с ожидаемым читаемым объектом буфера в Python

    Затухание между двумя музыкальными треками продолжается в Pygame

    Какая латентность требуется для совершения факсимильной связи с использованием только динамиков и микрофонов?

    Python: исключение catch внутри класса

    Python - лучший язык программирования в мире.