chart python matplotlib

chart - plot title python



Mantener la ventana de trazado abierta en Matplotlib (2)

De acuerdo con la documentation , hay un parámetro de block experimental que puede pasar a plt.show() . Por supuesto, si su versión de matplotlib no es lo suficientemente nueva, no tendrá esto.

Si tiene esta característica, debería poder reemplazar plt.show() con plt.show(block=True) para obtener el comportamiento deseado.

Al escribir scripts que usan matplotlib, temporalmente obtengo una ventana gráfica interactiva cuando ejecuto el script, que desaparece inmediatamente antes de poder ver el diagrama. Si ejecuto el mismo código interactivamente dentro de iPython, la ventana de gráficos permanece abierta. ¿Cómo puedo obtener matplotlib para mantener un diagrama abierto una vez que se produce un gráfico cuando ejecuto un script?

Por ejemplo, puedo guardar esta gráfica, pero no puedo mostrarla con show() :

from matplotlib import pyplot as plt import scipy as sp x = sp.arange(10) y = sp.arange(10) plt.plot(x,y) plt.show()


Pregunta anterior, pero más respuesta canónica (quizás), ya que utiliza solo características documentadas y no experimentales.

Antes de que salga su script, ingrese al modo no interactivo y muestre sus figuras. Esto se puede hacer usando plt.show() o plt.gcf().show() . Ambos bloquearán:

plt.ioff() plt.show()

O

plt.ioff() plt.gcf().show()

En ambos casos, la función show no regresará hasta que la figura esté cerrada. El primer caso es bloquear todas las figuras, el segundo caso es bloquear solo hasta que se cierre la figura.

Incluso puede usar el matplotlib.rc_context contexto matplotlib.rc_context para modificar temporalmente el estado interactivo en el medio de su programa sin cambiar nada más:

import matplotlib as mpl with mpl.rc_context(rc={''interactive'': False}): plt.show()

O

with mpl.rc_context(rc={''interactive'': False}): plt.gcf().show()