我对PyCharm和matplotlib有一个问题,我似乎无法纠正。
当我使用PyCharm和ipython作为解释命令的控制台时,在保存图形之前不会显示绘图。然而,当我试图从外面的皮查姆阴谋时,这并没有发生。
以下是PyCharm中失败的exmaple过程:In[2]: import matplotlib.pyplot as plt
Backend MacOSX is interactive backend. Turning interactive mode on.
In[3]: plt.plot([1,2,3,4],[1,4,9,16], 'ro')
这将打开一个标签为“图1”的窗口。但是,没有显示绘图,鼠标悬停在上面时会切换到SPOD(我在Mac上)。在这一点上,我可以尝试In[4]: plt.show()
但仍然没有阴谋出现。但是,如果我这样做:In[5]: plt.savefig('foo.png')
不仅用该名称保存了一个图,而且该图还显示在图1窗口中。注意,PyCharm已经设置了交互模式,并且它已经识别出我的后端是(应该是?)马科斯。
我在通用终端会话中通过python和ipython控制台,甚至通过emacs使用了相同的进程,在所有情况下,调用plt.plot()行时都会出现绘图。不需要plt.show()调用。
事实上,我甚至可以通过PyCharm使用终端,得到想要的情节。一个答案是,我应该用这些方法来完成我的阴谋,而忽略PyCharm。然而,假设我发现PyCharm的“钟声和哨声”足够吸引人,我真的很想将其用作我的IDE,但希望能够检查情节而不必经历plt.savefig()的麻烦(因为我不想保留我尝试的每一个情节)。
我也试过通过plt.switch_backend()切换后端。我已经尝试了列出的所有选项,所有这些选项都失败了,主要原因是没有安装某些软件包或系统不正确。我已经尝试安装任何东西来使用新的后端,所以我不知道另一个正确安装的后端是否能解决这个问题。当然,更愿意尝试!
系统详细信息:
MacBookPro Retina 2012年年中,16GB内存,约塞米蒂10.10
Python3.4.2
伊普顿2.3.1
PyCharm社区版4.0.4
请注意,我已经从以下问题中回顾并尝试了各种修复方法:
编辑
如下面的注释所述,这似乎是一个bug,而不是我的设置失败。因此,我修改这个问题,问是否有已知的解决方法。