Как установить количество тиков в plt.colorbar?

Когда я рисую матрицу с цветной панелью, цветная панель имеет 10 тиков. Так как цветная панель должна быть довольно маленькой, метки метки перекрываются. Поэтому я хочу уменьшить количество тиков с 10 до 5. Я не хочу уменьшать размер шрифта!

Есть ли простой способ сделать это? Я не хочу устанавливать тики вручную...

Ответ 1

Код MaxNLocator может соответствовать вашим целям?

класс matplotlib.ticker.MaxNLocator

Выберите не более N интервалов в хороших местах

Например:

from matplotlib import ticker

# (generate plot here)
cb = plt.colorbar()
tick_locator = ticker.MaxNLocator(nbins=5)
cb.locator = tick_locator
cb.update_ticks()
plt.show()

Ответ 2

Для справки, теперь это возможно и через:

cbar = plt.colorbar()
cbar.ax.locator_params(nbins=5)

который разговаривает с ticker.MaxNLocator.