Estou tentando visualizar uma matriz numpy usando imshow (), pois é semelhante a imagesc () no Matlab.
imshow(random.rand(8, 90), interpolation='nearest')
A figura resultante é muito pequena no centro da janela cinza, enquanto a maior parte do espaço está desocupado. Como posso definir os parâmetros para aumentar a figura? Tentei figsize = (xx, xx) e não é o que eu quero. Obrigado!
python
numpy
matplotlib
Ruofeng
fonte
fonte
Respostas:
Se você não fornecer um
aspect
argumento paraimshow
, ele usará o valor paraimage.aspect
em seumatplotlibrc
. O padrão para este valor em um novomatplotlibrc
éequal
. Portantoimshow
, plotaremos sua matriz com proporção igual.Se você não precisa de um aspecto igual, você pode definir
aspect
comoauto
que dá a seguinte figura
Se você quiser uma proporção igual, você deve adaptar o seu de
figsize
acordo com o aspectoque dá a você:
fonte
Isso é estranho, definitivamente funciona para mim:
Estou usando o backend "MacOSX", aliás.
fonte
plt.figure(figsize = (x_new, y_new))
e para imgshow () você deve importar ioimage agora porque o SciPy imageshow () será descontinuado em breveEu também sou novo em python. Aqui está algo que parece que fará o que você quiser
Acredito que isso decida o tamanho da tela.
fonte
Atualização 2020
conforme solicitado por @baxxx, aqui está uma atualização porque
random.rand
está obsoleta por enquanto.Isso funciona com matplotlip 3.2.1:
Este trama:
Para alterar o número aleatório, você pode experimentar
np.random.normal(0,1,(8,90))
(aqui média = 0, desvio padrão = 1).fonte