Цветовая гамма imshow и контур перекрываются - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь получить цветную полосу, которая содержит значения imshow и имеет 3 линии контуров, наложенных на график. Один из примеров matplotlib показывает что-то близкое, но они имеют только цветные контуры. У этого изображения есть цветная шкала того типа, который я хотел бы, хотя.

Вот мой код и изображение, и оно просто игнорирует цветовую панель cmap imshow.

plt.imshow(Bho, origin='l')
plt.contour(Bho, [300,400,500],origin='lower', colors=['white', 'yellow', 'red'])
plt.colorbar()
plt.show()

enter image description here

1 Ответ

2 голосов
/ 03 марта 2020

Что вам не хватает, так это то, что вам нужно также передать возвращенный объект из imshow на вашу цветовую панель. Я подготовил минимальный рабочий пример, который демонстрирует, как получить значения изображения и определенные уровни в цветовой панели.

import numpy as np
import matplotlib.pyplot as plt

Bho = np.random.random(size=10000).reshape(100,100)

fig, ax = plt.subplots()
im = ax.imshow(Bho, origin='l')
_cs2 = ax.contour(Bho, levels=[0.2,0.4] ,origin='lower', colors=['white','red'])

cbar = fig.colorbar(im, ax=ax)
cbar.add_lines(_cs2)

plt.show()

Результат

enter image description here

...