Инвертировать изображение, отображаемое imshow в matplotlib

88

Я хотел, чтобы imshow()функция matplotlib.pyplotотображала изображения в обратном порядке, то есть в перевернутом виде. Есть простой способ сделать это?

пратикм
источник

Ответы:

165

Укажите аргумент ключевого слова origin='lower'или origin='upper'в своем вызове imshow.

слабак
источник
почему значение по умолчанию отличается на разных машинах? Есть ли способ установить значение по умолчанию? Тем не менее, спасибо за этот ответ, в прошлом я пытался исправить это с помощью переворота матрицы и прочего. Это намного проще!
Milla Well
вероятно, из-за разных версий pyplot (они изменили соглашение где-то с 0,0 в верхнем левом углу на нижний левый)
wim
1
Что, если вы захотите повернуть его по часовой стрелке.
Рахми Прюитт
-10

добавьте .T после данных, которые вы хотите построить

plt.imshow(data.T)

Это "транспонирует" данные

Бен Пикеринг
источник
Это предполагает, что отображаемые данные представляют собой массив Numpy, а не список или другую структуру. В частности, звонок .Tозначает звонокnumpy.ndarray.T
RegularlyScheduledProgramming
14
Транспонирование - это диагональный переворот. Пользователи хотели вертикальный переворот.
wim