turtle turtle - 10 days ago 7
Python Question

Keep plotting window open in Matplotlib

When writing scripts that use matplotlib, I temporally get an interactive graphing window when I run the script, which immediately goes away before I can view the plot. If I execute the same code interactively inside iPython, the graphing window stays open. How can I get matplotlib to keep a plot open once it is produces a graph when I run a script?

For example, I can save this plot, but I cannot display it with

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

Answer

According to the documentation, there's an experimental block parameter you can pass to plt.show(). Of course, if your version of matplotlib isn't new enough, it won't have this.

If you have this feature, you should be able to replace plt.show() with plt.show(block=True) to get your desired behavior.