Guardando los gráficos de Matplotlib en una imagen como pantalla completa

Estoy creando una pequeña utilidad de gráficos que utiliza Pandas y MatPlotLib para analizar datos y generar gráficos de una máquina en el trabajo.

Cuando salgo el gráfico usando

plt.show() 

Terminé con una imagen poco clara que tiene leyendas y tags que se amontonan entre sí como tal.

Muestra mala imagen Sin embargo, expandir la ventana a pantalla completa resuelve mi problema, reposicionando todo de una manera que permita que el gráfico sea visible.

Luego guardo el gráfico en un .png como tal

 plt.savefig('sampleFileName.png') 

Pero cuando se guarda en la imagen, no se guarda la versión correcta de la ttwig de pantalla completa, sino la versión predeterminada defectuosa.

¿Cómo puedo guardar el plt.show () de la pantalla completa del gráfico en .png?

Espero no ser demasiado confuso.

¡Gracias por tu ayuda!

El método que utiliza para maximizar el tamaño de la ventana depende del tipo de backend matplotlib que esté utilizando. Consulte el siguiente ejemplo para los 3 backends más comunes:

 import matplotlib.pyplot as plt plt.figure() plt.plot([1,2], [1,2]) # Option 1 # QT backend manager = plt.get_current_fig_manager() manager.window.showMaximized() # Option 2 # TkAgg backend manager = plt.get_current_fig_manager() manager.resize(*manager.window.maxsize()) # Option 3 # WX backend manager = plt.get_current_fig_manager() manager.frame.Maximize(True) plt.show() plt.savefig('sampleFileName.png') 

Puede determinar qué backend está utilizando con el comando matplotlib.get_backend() . Cuando guarde la versión maximizada de la figura, se guardará una imagen más grande como se desee.

Como una opción más, creo que también vale la pena mirar

 plt.savefig('filename.png', bbox_inches='tight') 

Esto es especialmente útil si está haciendo subplots que tienen tags de eje que se ven desordenadas.

Para aquellos que reciben errores en las respuestas anteriores, esto ha funcionado para mí.

 #Show full screen mng = plt.get_current_fig_manager() mng.full_screen_toggle()