Consider the following simple code:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0,np.pi,0.001)
f = np.sin(x)
plt.figure(figsize=(10,10))
plt.plot(x,f)
plt.ioff()
plt.show()
plt.savefig('Sine')
Here, I want Python to save the figure after I closed the figure window. Of course, this isn't very useful, but in the original code I want to manipulate the figure graphically and then save the changes.
The above code worked fine with my last Python version (Version 2.? with Debian), but since I changed to SuSe 13.2 with Python 3.4 it simply runs the whole code without a stop.
There do exist other threads on this topic like Matplotlib python show() returns immediately but those solutions don't work for me - I tried matplotlib.interactive(False) and choosing various different backends for matplotlib (currently I'm using 'QT4Agg').
plt.ioff()beforeplt.figure? In principle, you should call it before you create figures and maybe matplotlib for Python 3.4 is more strict on that.