Estoy tratando de visualizar una matriz numpy usando imshow () ya que es similar a imagesc () en Matlab.
imshow(random.rand(8, 90), interpolation='nearest')
La figura resultante es muy pequeña en el centro de la ventana gris, mientras que la mayor parte del espacio está desocupado. ¿Cómo puedo configurar los parámetros para agrandar la figura? Probé figsize = (xx, xx) y no es lo que quiero. ¡Gracias!
python
numpy
matplotlib
Ruofeng
fuente
fuente
Respuestas:
Si no le da un
aspect
argumento aimshow
, usará el valor deimage.aspect
en sumatplotlibrc
. El valor predeterminado para este valor en un nuevomatplotlibrc
esequal
. Porimshow
lo tanto , trazará su matriz con la misma relación de aspecto.Si usted no necesita un aspecto igual se puede establecer
aspect
aauto
que da la siguiente figura
Si desea una relación de aspecto igual, debe adaptar su
figsize
según el aspectoque te da:
fuente
Eso es extraño, definitivamente funciona para mí:
Estoy usando el backend "MacOSX", por cierto.
fuente
plt.figure(figsize = (x_new, y_new))
y para imgshow () ahora debe importar ioimage porque el SciPy imageshow () quedará obsoleto prontoYo también soy nuevo en Python. Aquí hay algo que parece que hará lo que quieres
Creo que esto decide el tamaño del lienzo.
fuente
Actualización 2020
según lo solicitado por @baxxx, aquí hay una actualización porque
random.rand
está obsoleta mientras tanto.Esto funciona con matplotlip 3.2.1:
Esto traza:
Para cambiar el número aleatorio, puede experimentar con
np.random.normal(0,1,(8,90))
(aquí media = 0, desviación estándar = 1).fuente