2013-02-28 37 views
3

我在Mac OSX 10.8.2上使用spyder,并且我卸载了Enthought。在我的代码中,我使用matplotlib的pyplot。 但是,当我运行简单的绘图程序时,我不断收到以下警告。错误,删除EPD后使用不赞成的类PySimpleApp

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backends/backend_wx.py:1382: wxPyDeprecationWarning: Using deprecated class PySimpleApp. 
     wxapp = wx.PySimpleApp() 

我试过pip,手动安装matplotlib,而且没有帮助。我应该怎么做呢? 这是我与绘图代码行:

markerSize=400; 
fig = plt.gcf() 
plt.scatter(X,Y,marker='+',s=markerSize) 
circle=plt.Circle((X[i]+k*meshStep,Y[i]+j*meshStep),frequency/magnification,color='r'); 
fig.gca().add_artist(circle) 
plt.xlim(min(X)-1,max(X)+1) 
plt.ylim(min(Y)-1,max(Y)+1) 

卸载之前Enthought我没有这个问题,我的身材有缩放和移动按钮,但现在我只得到图形本身。

谢谢。

+0

显然问题解决了。我刚刚在PC上删除了spyder文件的任何实例!特别是用户目录中的配置文件! – Cupitor 2013-02-28 20:30:21

回答

9

您应该使用wx.App(False)而不是wx.PySimpleApp。 PySimpleApp在wxPython 2.9中已被弃用。 wx.App(False)的功能基本相同。

+0

那么问题是我没有使用wx.App(False)! – Cupitor 2013-02-28 19:50:13

+2

对,它仍然是使用wx.PySimpleApp的matplotlib。你没有看到它与EPD的原因是因为他们仍在使用早期的wxPython 2.8,其中wx.PySimpleApp尚未被弃用。如果你将来遇到这个问题,你可以在matplotlib之前创建你自己的wx.App来解决这个问题。根据您使用matplotlib的方式,您可能需要在导入matplotlib的任何模块之前运行的模块中执行此操作。 – RobinDunn 2013-02-28 20:58:53