Как сделать так, чтобы цветовая карта для plt.imshow () имела одинаковые значения на двух разных графиках - PullRequest
0 голосов
/ 20 сентября 2018

Учтите следующее.У меня есть два графика:

fig = plt.figure()
plt.imshow(nonfour, cmap='gray')

enter image description here

fig = plt.figure()
plt.imshow(np.abs(four), cmap='gray')

enter image description here

Эти два графикасоздаются с использованием массивов nonfour и np.abs (четыре).Когда создается каждый график, цветовая карта устанавливается с использованием значений min и max для каждого массива.

Я хотел бы создать карту из моего первого графика и использовать ее каккарта для моего второго графика

(т.е. цветовая карта для второго графика будет основана на максимальных и минимальных значениях моего первого графика).

1 Ответ

0 голосов
/ 20 сентября 2018

Как отметил Томас Кюн, imshow использует ключевые слова vmin и vmax, чтобы контролировать масштаб цветовой карты.Вы можете получить (автоматически определенные) значения для первого графика, используя метод get_clim():

# Create your first plot
img = plt.imshow(nonfour, cmap='gray')

# Extract vmin and vmax
vmin, vmax = img.get_clim()

# Create your second plot using these limits
plt.imshow(np.abs(four), cmap='gray', vmin=vmin, vmax=vmax)

В качестве альтернативы, вы также можете использовать метод set_clim():

img = plt.imshow(nonfour, cmap='gray')
img2 = plt.imshow(np.abs(four), cmap='gray')
img2.set_clim(img.get_clim())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...