Python Pycharm不显示情节
Pycharm不显示以下代码中的绘图:Python Pycharm不显示情节,python,matplotlib,pycharm,Python,Matplotlib,Pycharm,Pycharm不显示以下代码中的绘图: import pandas as pd import numpy as np import matplotlib as plt ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) ts = ts.cumsum() ts.plot() 发生的情况是,一个窗口出现不到一秒钟,然后再次消失 在相同的代码上使用Pyzo IEP IDE
import pandas as pd
import numpy as np
import matplotlib as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
发生的情况是,一个窗口出现不到一秒钟,然后再次消失
在相同的代码上使用Pyzo IEP IDE(使用相同的解释器),该图将按预期显示
…所以问题一定是在Pycharm上设置的。
我尝试过使用python.exe和pythonw.exe作为解释器,结果都是一样的
这是我的系统信息:
C:\pyzo2014a\pythonw.exe -u C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.4.1\helpers\pydev\pydevconsole.py 57315 57316
PyDev console: using IPython 2.1.0import sys; print('Python %s on %s' % (sys.version, sys.platform))
Python 3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, 13:02:30) [MSC v.1600 64 bit (AMD64)] on win32
sys.path.extend(['C:\\Users\\Rasmus\\PycharmProjects\\untitled2'])
In[3]: import IPython
print(IPython.sys_info())
{'commit_hash': '681fd77',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': 'C:\\pyzo2014a\\lib\\site-packages\\IPython',
'ipython_version': '2.1.0',
'os_name': 'nt',
'platform': 'Windows-8-6.2.9200',
'sys_executable': 'C:\\pyzo2014a\\pythonw.exe',
'sys_platform': 'win32',
'sys_version': '3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, '
'13:02:30) [MSC v.1600 64 bit (AMD64)]'}
我也有同样的问题。检查
plt.isinteractive()
是否为真。将其设置为“False”对我有帮助
plt.interactive(False)
我找到了解决办法。这对我很有用:
import numpy as np
import matplotlib.pyplot as plt
points = np.arange(-5, 5, 0.01)
dx, dy = np.meshgrid(points, points)
z = (np.sin(dx)+np.sin(dy))
plt.imshow(z)
plt.colorbar()
plt.title('plot for sin(x)+sin(y)')
plt.show()
我意识到这很古老,但我想我应该为其他旅行者澄清一个误解。将
plt.pyplot.isinteractive()
设置为False
意味着将根据要绘制的特定命令绘制绘图(即plt.pyplot.show()
)。将plt.pyplot.isinteractive()
设置为True
意味着每个pyplot
(plt
)命令将触发绘图命令(即plt.pyplot.show()
)。因此,您很可能要查找的是在程序末尾显示图形的plt.pyplot.show()
作为补充说明,您可以使用以下导入命令将这些语句稍微缩短一点,方法是使用
import matplotlib.pyplot As plt
而不是matplotlib As plt
我在这里能够得到一些其他建议的组合,但只有在切换plt.interactive(False)时才有效
到True
再返回
plt.interactive(True)
plt.pyplot.show()
这将使我的情节更加精彩。然后设置为False
允许查看
plt.interactive(False)
plt.pyplot.show()
如前所述,在所有窗口关闭之前,我的程序不会退出。以下是有关我当前运行环境的一些详细信息:
Python version 2.7.6
Anaconda 1.9.2 (x86_64)
(default, Jan 10 2014, 11:23:15)
[GCC 4.0.1 (Apple Inc. build 5493)]
Pandas version: 0.13.1
DanT的评论为我修复了这个问题,在带有GTKagg后端的linux上,matplotlib和pycharm。导入matplotlib时,我会出现以下错误:
>>> import matplotlib as mpl
Backend GTKAgg is interactive backend. Turning interactive mode on.
Failed to enable GUI event loop integration for 'gtk'
当绘制类似的图形时:
from matplotlib import pyplot as plt
plt.figure()
plt.plot(1,2)
plt.show()
将弹出一个图形屏幕,但不显示任何图表。
使用:
正确显示图形。我的问题是matplotlib使用了错误的后端。我在用Debian Jessie 在控制台中,我执行了以下操作:
import matplotlib
matplotlib.get_backend()
plt.bar(range(len(predictors)), scores)
plt.xticks(range(len(predictors)), predictors, rotation='vertical')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6.28, 100)
plt.plot(x, x**0.5, label='square root')
plt.plot(x, np.sin(x), label='sinc')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("test plot")
plt.legend()
plt.show(block=True)
plt.interactive(False)
结果是:“agg”,而这应该是“TkAgg”
解决办法很简单:
就我而言,我想做以下几点:
import matplotlib
matplotlib.get_backend()
plt.bar(range(len(predictors)), scores)
plt.xticks(range(len(predictors)), predictors, rotation='vertical')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6.28, 100)
plt.plot(x, x**0.5, label='square root')
plt.plot(x, np.sin(x), label='sinc')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("test plot")
plt.legend()
plt.show(block=True)
plt.interactive(False)
在这里混合使用了多种解决方案之后,我的解决方案是在此之前添加以下命令:
matplotlib.get_backend()
plt.interactive(False)
plt.figure()
与以下两个进口
import matplotlib
import matplotlib.pyplot as plt
在我的情况下,似乎所有命令都是必需的,带有ElCapitan和PyCharm 2016.2.3的MBP。你好 我尝试了不同的解决方案,但最终对我有效的是
plt.show(block=True)
。您需要在myDataFrame.plot()命令之后添加此命令,此命令才能生效。如果有多个plot,只需在代码末尾添加命令。它将允许您查看正在打印的所有数据 对于初学者,您可能还希望确保自己是,而不是像常规Python代码那样。这是相当容易做到的
对我有用。(PyCharm/OSX)打电话后不久
plt.imshow()
召唤
您将获得带有图像的matplotlib弹出窗口
这是一条拦路。在pop关闭之前,将不会运行进一步的脚本。我在我的Pycharm版本(社区版2017.2.2)中测试,您可能需要宣布plt.interactive(False)和plt.show(block=True),如下所示:
import matplotlib
matplotlib.get_backend()
plt.bar(range(len(predictors)), scores)
plt.xticks(range(len(predictors)), predictors, rotation='vertical')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6.28, 100)
plt.plot(x, x**0.5, label='square root')
plt.plot(x, np.sin(x), label='sinc')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("test plot")
plt.legend()
plt.show(block=True)
plt.interactive(False)
只用
plt.show()
此命令告诉系统以Pycharm绘制绘图
例如:
plt.imshow(img.reshape((28, 28)))
plt.show()
我在PyCharm 2017.1.2上测试了我的版本。我使用了interactive(True)和show(block=True)
我的环境:macOS&anaconda3
这对我很有用:
matplotlib.use('macosx')
或互动模式:
matplotlib.use('TkAgg')
在非交互式环境中,我们必须使用plt.show(block=True)只要添加plt.pyplot.show()
,就可以了
最好的解决方案是禁用SciView。以上所有方法都不适用于我,但以下方法确实有效:
禁用pycharmsettings>Tools>Python Scientific
中的复选框(在工具窗口中显示绘图)
我收到错误未找到PyQt5模块
。继续安装PyQt5
,使用:
sudo apt-get install python3-pyqt5
请注意,对于某些人来说,只有第一步就足够了,而且可以工作。需要为pycharm设置一个属性。
import matplotlib.pyplot as plt
plt.interactive(False) #need to set to False
dataset.plot(kind='box', subplots=True, layout=(2,2), sharex=False, sharey=False)
plt.show()
将导入更改为:
import matplotlib.pyplot as plt
或使用以下行:
plt.pyplot.show()
对于那些在IDE中运行脚本(而不是在python控制台或笔记本等交互式环境中工作)的人,我发现这是最直观、最简单的解决方案:
plt.imshow(img)
plt.waitforbuttonpress()
它显示该图并等待用户单击新窗口。只有这样它才能恢复脚本并运行其余的代码。我正在使用Ubuntu,并按照上面@Arie所说的那样进行了尝试,但仅在终端中使用这一行:
sudo apt-get install tcl-dev tk-dev python-tk python3-tk
成功了 在Pycharm中,Matplotlib.plot有时不会显示
因此,在调用plt.show()
之后,在右侧工具栏中检查SciView。在SciView中,将存储生成的每个绘图 我遇到了这个问题,我可以解决它,你可以试试我的方法。。
从设置-->工具-->python scientific中禁用“在工具窗口中显示绘图”当我试图绘制直方图时,我遇到了上面的错误,下面的点对我有效
plt.interactive(False)
OS:MacCatalina 10.15.5
Pycharm版本:社区版2019.2.3
Python版本:3.7
我将导入语句更改如下(从-更改为)
发件人:
将matplotlib.pylab作为plt导入
致:
将matplotlib.pyplot导入为plt
和plot语句如下(将我的命令格式pyplot更改为plt)
发件人:
到