Спасибо! Это сводило меня с ума; Мне нравится, насколько мощным является matplotlib, но количество недокументированных функций и возникающих в результате неожиданных действий может привести в бешенство.
у построить некоторые данные (от 0 до 18), но я хочу, чтобы цветная полоса показывала диапазон от 0 до 40. После просмотра нескольких онлайн-примеров я понятия не имею, как добиться того, что мне нужно!
Вот простой пример:
import matplotlib.pyplot as plt
import numpy as np
rd = np.random.rand(40,100) # random samples from a uniform distribution over [0, 1]
surface = 18 * rd # maximum value will be 18
fig = plt.figure()
ax = fig.add_subplot(111)
cores = ax.contourf(surface[:], vmin=0, vmax=40)
cbar = plt.colorbar(cores)
Я пробовал это также:
cbar = plt.colorbar(cores, extend='both', extendrect=True)
cbar.set_clim(0, 40.)
Но я продолжаю получать одно и то же изображение с цветовой шкалой от 0 до 20! Я знаю, что мог бы использоватьset_over
метод, но я не хочу получать один цвет ... Я хочу весь свой цветовой диапазон (как определено вcores
от 0 до 40) появиться!
Спасибо за вашу помощь!