如何将Python 3.4 matplotlib置于非交互模式?

时间:2015-04-14 06:49:40

标签: python matplotlib

考虑以下简单代码:

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 }})。

1 个答案:

答案 0 :(得分:1)

请使用Agg后端。它是非交互式的,它解决了这个问题。要设置matplotlib后端,您需要调用use方法,如下所示。

import matplotlib
matplotlib.use('Agg')