使用matplotlib.pyplot.plot()绘图时出错
下面的代码出现了我不明白的错误:
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(10)
plt.plot(a)
[<matplotlib.lines.Line2D at 0x116be8890>]
plt.show()
2013-01-29 10:58:18.891 Python[27257:903] *** __NSAutoreleaseNoPool(): Object 0x105b27810 of class NSCFArray autoreleased with no pool in place - just leaking
2013-01-29 10:58:18.893 Python[27257:903] *** __NSAutoreleaseNoPool(): Object 0x105b37f60 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking
2013-01-29 10:58:18.895 Python[27257:903] *** __NSAutoreleaseNoPool(): Object 0x105bee900 of class NSObject autoreleased with no pool in place - just leaking
我使用的是matplotlib 1.2.0、numpy 1.6.2、python 2.7.3和ipython 0.13.1。这些软件包是通过macports安装的。我是在Mac OS 10.6.8上运行这个的,而在10.7.5上没有遇到这个问题。
相关问题:
2 个回答
0
我也遇到了这个问题,我的解决办法是添加:
plt.ion()
在第一个绘图命令之前。这会开启互动绘图模式,这样错误就消失了。
1
我还没有找到解决办法。我的临时方案是安装另一个后端:qt4。这需要你做:
sudo port install qt4-mac
sudo port install py27-qt4
然后修改(或者如果没有的话就创建)文件 ~/.matplotlib/matplotlibrc,添加:
backend : QT4Agg
这样,上面的内容就可以正常工作了。