请看下面这段简单的代码:
考虑以下简单的代码:
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')
我希望Python在关闭图形窗口后保存图形。当然,这并不是很有用,但在原始代码中,我想以图形方式操作图形,然后保存更改。
上面的代码在我上一个Python版本(Debian的2.?版本)中运行良好,但自从我改用Python 3.4的SuSe 13.2以来,它就会连续运行整个代码。
有关此主题的其他线程确实存在,如Matplotlib python show()立即返回,但这些解决方案对我无效 - 我尝试了matplotlib.interactive(False)
和选择不同的matplotlib后端(当前我正在使用'QT4Agg'
)。
plt.figure
之前调用plt.ioff()
会发生什么?原则上,您应该在创建图形之前调用它,也许Python 3.4的matplotlib更加严格。 - oschoudhury