Matplotlib绘图不显示在sublimetext中

时间:2012-05-31 10:33:12

标签: python matplotlib sublimetext2

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

例如,如果我创建以下脚本:

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

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

我是否误解了sublimetext的使用方式?

感谢。

5 个答案:

答案 0 :(得分:14)

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

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

编辑: Here它声明“在Windows下,GUI受到压制。”

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

答案 1 :(得分:14)

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

"shell": true

或者使用以下命令制作其他Python构建系统:

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

答案 2 :(得分:11)

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

matplotlib.pyplot.show('hold')

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

答案 3 :(得分:3)

请注意sublime text 3(安装了anaconda包)

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

首先在\path\to\Sublime Text Build XXXX\Data\Packages

中添加名为python的文件夹

然后将名为python.sublime-build的文件放入该文件夹中。

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

并记得像Roald所说的那样添加plt.show()

plt.imshow(image)
plt.show()

演示:

enter image description here

答案 4 :(得分:1)

我在Ubuntu下遇到过类似的问题。我试图像这样绘制pandas DataFrame

df = pandas.DataFrame([*range(5)])
df.plot()

但情节没有表现出来。事实证明,您需要执行plt.show(),正如所讨论的here