考虑以下简单代码:
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版本(版本2.?与Debian)上运行良好,但是由于我用Python 3.4改为SuSe 13.2,它只是不停地运行整个代码。
这个主题确实存在其他主题,例如Matplotlib python show() returns immediately,但这些解决方案对我不起作用 - 我尝试matplotlib.interactive(False)
并为matplotlib选择各种不同的后端(目前我正在使用{{1 }})。
答案 0 :(得分:1)
请使用Agg
后端。它是非交互式的,它解决了这个问题。要设置matplotlib后端,您需要调用use
方法,如下所示。
import matplotlib
matplotlib.use('Agg')