Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 皮查姆赢得';无法正确打开matplotlib绘图_Python_Matplotlib_Plot_Pycharm - Fatal编程技术网

Python 皮查姆赢得';无法正确打开matplotlib绘图

Python 皮查姆赢得';无法正确打开matplotlib绘图,python,matplotlib,plot,pycharm,Python,Matplotlib,Plot,Pycharm,我对PyCharm和matplotlib有一个问题,我似乎无法纠正 当我使用PyCharm和ipython作为解释命令的控制台时,在保存图形之前不会显示绘图。但是,当我尝试从PyCharm外部绘图时,不会出现这种情况 以下是一个在PyCharm中失败的exmaple进程: In[2]: import matplotlib.pyplot as plt Backend MacOSX is interactive backend. Turning interactive mode on. In[3]

我对PyCharm和matplotlib有一个问题,我似乎无法纠正

当我使用PyCharm和ipython作为解释命令的控制台时,在保存图形之前不会显示绘图。但是,当我尝试从PyCharm外部绘图时,不会出现这种情况

以下是一个在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上时会切换到SPOD(我在Mac上)。在这一点上,我可以试试

In[4]: plt.show()
但仍然没有情节出现但是,如果我这样做:

In[5]: plt.savefig('foo.png')
图形不仅会以该名称保存,还会显示在图1窗口中。请注意,PyCharm已经打开了交互模式,并且它已经识别出我的后端是(应该是?)MacOS

我在一个通用终端会话中通过python和ipython控制台使用了相同的过程,甚至通过emacs,并且在所有情况下,绘图都显示在调用
plt.plot()
行时。不需要调用
plt.show()

事实上,我甚至可以通过PyCharm使用终端并获得所需的情节。一个答案是,我应该使用这些方法进行绘图,而忽略PyCharm。但是,假设我发现PyCharm的“铃铛和哨子”足够吸引人,我真的很想将其用作我的IDE,但希望能够在不必经过
plt.savefig()
麻烦的情况下检查绘图(因为我不想保留我尝试的每个绘图)

我还尝试过通过
plt.switch\u backend()
切换后端。我已经尝试了列出的所有选项,所有这些选项都失败了,主要原因是没有安装某些软件包或安装在错误的系统上。我没有尝试安装任何东西来使用新的后端,所以我不知道另一个正确安装的后端是否能解决这个问题。当然,我非常愿意尝试

系统详细信息:

MacBookPro视网膜2012年年中,16GB内存,约塞米蒂10.10

Python 3.4.2

ipython 2.3.1

PyCharm社区版4.0.4

请注意,我已从以下问题中回顾并尝试了修复的变体:

编辑
正如下面的评论所指出的,这似乎是我的设置失败,而不是我的设置失败。因此,我正在修改这个问题,以询问是否存在已知的解决方法

OS X下的PyCharm(包括最新的v5版本)存在一个已知问题,这是由于在OS X上安装Python的方式造成的

大多数人使用
brew
安装Python2和Python3,这也取代了从命令行使用的默认Python解释器。不过,对于GUI应用程序,默认解释器和
pip
可执行文件也不会被替换

如果您想要更具体的答案,您必须使用以下内容正确记录您的环境:

  • 从命令行执行
    which-a python
  • 从命令行执行哪个-pip
  • 从PyCharm和console内部执行
    打印(sys.path)
    打印(os.env)
    ,并进行比较

通过这样做,您可能会意识到加载了错误版本的模块。

我在OSX 10.10上用Pycharm 4.0 Pro复制了这种行为。这似乎是Pycharm的Python控制台中的一个问题,如所示。因此,答案可能是删除Pycharm。惨淡的。我编辑了我的问题,以反映这个问题,并询问是否有已知的解决方法。将pycharm与自己的ipython控制台(而不是它提供的终端)一起使用,对我来说最大的价值是发送代码位以进行评估的交互过程。仅使用终端需要完全在终端中输入代码,然后计算我想要尝试的代码片段,或者从编辑器窗口复制并粘贴它们。。。看起来修复程序已经实现,将包含在下一次更新中。我正在Mac OsX 10.11上使用PyCharm Community Edition 2016.2 w/IPython 5.0和python 3.5.2解释器。我已经检查了所有路径,它们都匹配,但我仍然有同样的问题。我可以用plt.figure()打开一个图,但我只得到SPOD。调用plt.plot()会显示lines对象,但不会打印到窗口(无论之前是否有)。从那以后,控制台似乎真的很慢。使用MacOSX后端。