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()