Matplotlib绘图不显示在sublimetext中

问题描述 投票:15回答:5

我最近开始使用sublimetext 2,但是我今天注意到在sublimetext中运行时plt.show()函数似乎不起作用。

例如,我创建以下脚本:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show() 

使用IDLE运行此操作会生成一个绘图,但是使用sublimetext不会生成任何输出。它只是一直“思考”,直到我结束python.exe进程,然后输出[Finished]。

我是否误解了sublimetext的用法?

谢谢。

python matplotlib sublimetext2
5个回答
14
投票

我的猜测是Sublime Text 2会在自己的环境中启动你的代码,并且只捕获并显示控制台输出。使用GUI时存在同样的问题,例如wxPython。

另一个解决方法是打开命令提示符并手动启动它(python file.py)。

编辑:qazxsw poi它声称“在Windows下,GUI被抑制。”

编辑2:Here它列出了一种修复它的方法,就在页面底部。


14
投票

更合适的方法是在默认的Python构建系统文件中添加一行:

Here

或者制作额外的Python构建系统:

"shell": true

11
投票

我按照上面的建议尝试了theta的答案。它工作正常。如果控制台立即打开和关闭,就像直接从文件资源管理器中运行python文件一样,只需在最后添加以下行:

{
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "shell": true
}

这是我第一次回答这里。对不起,如果我不遵守答案格式。


3
投票

在sublime文本3中注意(安装了anaconda包)

您需要添加一个自定义构建系统,如theta所说:

首先在matplotlib.pyplot.show('hold') 中添加一个名为python的文件夹

然后将名为\path\to\Sublime Text Build XXXX\Data\Packages的文件放入该文件夹。

python.sublime-build

并记得像罗尔德所说的那样添加{ "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "shell": true }

plt.show()

演示:

plt.imshow(image) plt.show()


1
投票

我在Ubuntu下遇到过类似的问题。我试图像这样绘制一个enter image description here pandas

DataFrame

但情节没有表现出来。事实证明你需要做df = pandas.DataFrame([*range(5)]) df.plot() ,正如讨论的plt.show()

© www.soinside.com 2019 - 2024. All rights reserved.