EDITAR
Cambiado aspect='normal
a aspect='auto'
porque eso cambió en versiones más recientes de matplotlib (gracias a @ Luke19).
Asumiendo :
import matplotlib.pyplot as plt
Para hacer una figura sin el marco:
fig = plt.figure(frameon=False)
fig.set_size_inches(w,h)
Para que el contenido llene toda la figura
ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)
Luego dibuja tu imagen en él:
ax.imshow(your_image, aspect='auto')
fig.savefig(fname, dpi)
El aspect
parámetro cambia el tamaño de los píxeles para asegurarse de que llenen el tamaño de la figura especificado en fig.set_size_inches(…)
. Para tener una idea de cómo jugar con este tipo de cosas, lea la documentación de matplotlib , particularmente sobre el tema de Axes, Axis y Artist.