Cómo configurar imshow escala

Estoy harto de matplotlib porque es muy difícil trazar imágenes en un tamaño específico.

Tengo dos imágenes en 32 * 32, 20 * 20 tamaños. Solo quiero trazarlos en su tamaño original, o en proporción a su tamaño original.

Después de leer bastantes publicaciones en SO, el código que estoy usando ahora es

plt.autoscale(False) plt.subplot(1, 2, 1); plt.imshow(img_blob[0, 0, :, :], cmap='gray', interpolation='nearest', extent=[0, 32, 0, 32]) plt.subplot(1, 2, 2); plt.imshow(output_blob[0, 0, :, :], cmap='gray', interpolation='nearest', extent=[0, 20, 0, 20]) plt.show() 

Pero las dos imágenes todavía se muestran en el mismo tamaño.

introduzca la descripción de la imagen aquí

He intentado figsize

 plt.subplot(1, 2, 2, figsize=(2.0, 2.0)); 

Pero al parecer no hay ningún atributo de tamaño.

¿Es posible hacer las dos subplots en diferentes tamaños?

También hay una alternativa a la imshow que podría usar si las proporciones de la imagen son muy importantes … hay algo que se llama figimage que muestra una imagen completamente sin remuestrear en su figura. Trabajar con él es algo minucioso, no hace mucho detrás de la escena para hacer tu vida más fácil, pero puede ser útil para ciertas circunstancias. Aquí hay algo usando tu ejemplo.

 import matplotlib.pyplot as plt import numpy as np x = np.linspace(0,1,20) z1 = x[:,np.newaxis] * x y = np.linspace(0,1,32) z2 = y[:,np.newaxis] * y fig = plt.figure(figsize=(2,1)) plt.figimage(z1, 25, 25, cmap='gray') # X, Y offsets are in pixels plt.figimage(z2, 75, 25, cmap='gray') plt.show() 

Puedes hacer diagtwigs de diferentes tamaños usando GridSpec . Dado que GridSpec requiere la creación de celdas de cuadrícula del mismo tamaño a partir del rectángulo de la figura original, tendría que calcular las proporciones usted mismo y luego especificar los intervalos de celdas para llenar el espacio correcto.

Para su ejemplo específico:

 import matplotlib.pyplot as plt ax1 = plt.subplot2grid((3,6), (0,0), colspan=3, rowspan=3) ax2 = plt.subplot2grid((3,6), (0,3), colspan=2, rowspan=2) 

Si ahora grafica usando ax1 y ax2, debería mantener correctas las relaciones de aspecto relativas (dado también un tamaño de figura correcto). Sin embargo, debería ser posible escribir un método para hacer estos cálculos automáticamente.