Necesito crear una figura en un archivo sin mostrarla en el cuaderno IPython. No tengo claro la interacción entre IPythony matplotlib.pylaben este sentido. Pero, cuando llamo a pylab.savefig("test.png")la figura actual, se muestra además de guardarse en formato test.png. Al automatizar la creación de un gran conjunto de archivos de trazado, a menudo esto no es deseable. O en el caso de que se desee un archivo intermedio para el procesamiento externo de otra aplicación.
No estoy seguro si se trata de una matplotlibo IPythonpregunta portátil.

ioffRespuestas:
Esta es una pregunta de matplotlib, y puede solucionar esto usando un backend que no se muestra al usuario, por ejemplo, 'Agg':
EDITAR: Si no desea perder la capacidad de mostrar gráficos, desactive el modo interactivo y solo llame
plt.show()cuando esté listo para mostrar los gráficos:fuente
close()yshow(), que deberían resolver su problema. no se admite el cambio de backends sobre la marcha, como ha descubierto.plt.plot()si el modo interactivo está activado . Desactivar el modo interactivo retrasa la visualización de los gráficos hastaplt.show(). Debido a que está utilizando el cuaderno ipython, el modo interactivo se trata de manera diferente.matplotlib.use('Agg')solo hizo el truco. No necesitaba ningunoplt.show()oplt.ioff()en mi código en absoluto.No lo necesitamos
plt.ioff()oplt.show()(si lo usamos%matplotlib inline). Puede probar el código anterior sinplt.ioff().plt.close()tiene el papel fundamental. Prueba este:Si ejecuta este código en iPython, mostrará un segundo gráfico, y si lo agrega
plt.close(fig2)al final, no verá nada.En conclusión, si cierra la figura
plt.close(fig), no se mostrará.fuente
plt.ioffme pongoRuntimeWarning: More than 20 figures have been opened....plt.closeresuelto.