我有一个关于PyCharm和matplotlib的问题,我似乎无法纠正。
当我使用PyCharm和ipython作为命令解释的控制台时,绘图直到我保存图像才会显示。但是,当我尝试从PyCharm外部绘图时,这种情况不会发生。
以下是一个在PyCharm中失败的示例过程:
这将打开一个标签为“Figure 1”的窗口。但是,没有绘图出现,并且当鼠标悬停在其上时,它会切换到SPOD(我使用的是Mac)。此时,我可以尝试...
不仅图像以该名称保存,而且绘图出现在“Figure 1”窗口中。请注意,PyCharm已设置交互模式,并且已识别出我的后端应该是MacOS。我已经通过python和ipython控制台,在通用终端会话中甚至通过emacs使用了相同的过程,在所有情况下,在调用plt.plot()行时绘图都会出现。不需要plt.show()调用。实际上,我甚至可以通过PyCharm使用终端并获得所需的绘图。一种答案是我应该只使用这些方法进行绘图并忽略PyCharm。但是假设我认为PyCharm的“花哨功能”非常吸引人,因此我真的想将其用作我的IDE,但希望能够检查绘图而无需经过plt.savefig()的麻烦(因为我不想保留我尝试的每个绘图)。
我还尝试通过
系统详细信息:
MacBookPro Retina中期2012年,16GB内存,Yosemite 10.10
Python 3.4.2
ipython 2.3.1
PyCharm社区版4.0.4
请注意,我已查看并尝试了以下问题的各种修复程序的变化: Python plots won't open How to switch backends in matlab/python PyCharm + Matplotlib?
当我使用PyCharm和ipython作为命令解释的控制台时,绘图直到我保存图像才会显示。但是,当我尝试从PyCharm外部绘图时,这种情况不会发生。
以下是一个在PyCharm中失败的示例过程:
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')
这将打开一个标签为“Figure 1”的窗口。但是,没有绘图出现,并且当鼠标悬停在其上时,它会切换到SPOD(我使用的是Mac)。此时,我可以尝试...
In[4]: plt.show()
但是仍然没有情节出现。然而,如果我接着做:
In[5]: plt.savefig('foo.png')
不仅图像以该名称保存,而且绘图出现在“Figure 1”窗口中。请注意,PyCharm已设置交互模式,并且已识别出我的后端应该是MacOS。我已经通过python和ipython控制台,在通用终端会话中甚至通过emacs使用了相同的过程,在所有情况下,在调用plt.plot()行时绘图都会出现。不需要plt.show()调用。实际上,我甚至可以通过PyCharm使用终端并获得所需的绘图。一种答案是我应该只使用这些方法进行绘图并忽略PyCharm。但是假设我认为PyCharm的“花哨功能”非常吸引人,因此我真的想将其用作我的IDE,但希望能够检查绘图而无需经过plt.savefig()的麻烦(因为我不想保留我尝试的每个绘图)。
我还尝试通过
plt.switch_backend()
切换后端。 我已经尝试了所有列出的选项,但由于没有安装某些软件包或在错误的系统上,大多数选项都失败了。 我没有尝试安装任何东西来使用新的后端,因此我不知道另一个正确安装的后端是否会解决这个问题。 当然非常愿意尝试!系统详细信息:
MacBookPro Retina中期2012年,16GB内存,Yosemite 10.10
Python 3.4.2
ipython 2.3.1
PyCharm社区版4.0.4
请注意,我已查看并尝试了以下问题的各种修复程序的变化: Python plots won't open How to switch backends in matlab/python PyCharm + Matplotlib?
尽管我调用了pyplot.show(),但matplotlib没有显示我的绘图
编辑 如下方评论所述,这似乎是一个错误,而不是我设置失败。因此,我修改了这个问题,询问是否有已知的解决方法。