Inverter imagem exibida por imshow em matplotlib


89

Eu queria que a imshow()função matplotlib.pyplotexibisse as imagens da maneira oposta, ou seja, de cabeça para baixo. Existe uma maneira simples de fazer isso?

Respostas:


169

Especifique o argumento da palavra-chave origin='lower'ou origin='upper'em sua chamada para imshow.


por que o padrão difere em máquinas diferentes? Existe uma maneira de definir o padrão? Obrigado por esta resposta, no entanto, no passado eu tentei consertar isso usando viradas de matriz e outras coisas. Isso é muito mais fácil!
Milla Well,

provavelmente por causa de diferentes versões do pyplot (eles mudaram a convenção em algum lugar de 0,0 sendo superior esquerdo para inferior esquerdo)
wim

1
E se você quiser movê-lo no sentido horário.
Rahmi Pruitt


-10

adicione .T após os dados que deseja plotar

plt.imshow(data.T)

Isso vai "transpor" os dados


Isso pressupõe que os dados mostrados são uma matriz Numpy e não uma lista ou outra estrutura. Especificamente por chamar .Tsignifica chamarnumpy.ndarray.T
RegularlyScheduledProgramming

14
Transpor é uma inversão diagonal. Os usuários queriam uma inversão vertical.
wim
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.