matplotlib绘图窗口不会出现

时间:2012-10-31 04:59:11

标签: python plot matplotlib 64-bit pandas

我在64位中使用Python 2.7.3。我安装了pandas和matplotlib 1.1.1,两者都是64位的。现在,我的阴谋都没有出现。在尝试从几个不同的数据帧进行绘制之后,我放弃了沮丧并尝试了http://pandas.pydata.org/pandas-docs/dev/visualization.html中的以下第一个示例:

INPUT:

import matplotlib.pyplot as plt
ts = Series(randn(1000), index=date_range ('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
pylab.show()

输出:

Axes(0.125,0.1;0.775x0.8)

没有出现情节窗口。我读过的其他StackOverflow线程表明我可能缺少DLL。有什么建议吗?

3 个答案:

答案 0 :(得分:27)

我不相信这是一个大熊猫问题。

import matplotlib.pyplot as plt
plt.plot(range(10))
plt.show()

提出情节?

如果不是:

你是如何安装matplotlib的?它来自源代码还是您从软件包管理器/预构建的二进制文件安装它?

我怀疑如果你跑:

import matplotlib            
print matplotlib.rcParams['backend']

结果将是一个非GUI后端(几乎肯定是“Agg”)。这表明你没有合适的GUI工具包(我个人使用Tkinter,这意味着我的后端报告为“TkAgg”)。

解决方案取决于您的操作系统,但如果您可以安装GUI库(Tkinter,GTK,QT4,PySide,Wx之一),那么pyplot.show()应该会为您弹出一个窗口。< / p>

HTH,

答案 1 :(得分:1)

在virtualenv中工作时遇到了这个问题。

原因

问题的原因是,当你=IFERROR(((ABS((((SUMIF(Orders!$B$1:$BJ$1, DATE((YEAR(TODAY())), (MONTH(TODAY())), ("<"&DAY(TODAY()))), Orders!B2:BJ2))-(SUMIF(Forecast!$B$1:$BJ$1, DATE((YEAR(TODAY())), (MONTH(TODAY())), ("<"&DAY(TODAY()))), Forecast!B2:BJ2)))/(SUMIF(Orders!$B$1:$BJ$1, DATE((YEAR(TODAY())), (MONTH(TODAY())), ("<"&DAY(TODAY()))), Orders!B2:BJ2))))*(SUMIF(Orders!$B$1:$BJ$1, DATE((YEAR(TODAY())), (MONTH(TODAY())), ("<"&DAY(TODAY()))), Orders!B2:BJ2)))/(SUMIF(Orders!$B$1:$BJ$1, DATE((YEAR(TODAY())), (MONTH(TODAY())), ("<"&DAY(TODAY()))), Orders!B2:BJ2))), 0) 时,它找不到任何后端(即使它们安装在你的机器上),所以它使用“agg”后端,这不会产生任何情节,只是写文件。要确认是这种情况,请转到:pip install matplotlib,您可能会看到python -c "import matplotlib; print matplotlib.get_backend()"

然而,我可以在系统上成功使用matplotlib(在virtualenv之外)。由于各种不同的原因,我也无法安装PySide,PyQt或让它为TkAgg工作。

解决方案

我最终只是建立了我的matplotlib系统版本的链接(从venv外部开始):

agg

之后,我可以使用matplotlib,这些情节会显示出来。您的本地版本的matplotlib可能位于不同的位置。要查看它的位置,去(在venv之外,在python中)

...$ pip install matplotlib
...$ cd /to/my/venv/directory
...$ source venv/bin/activate
(venv) .... $ pip uninstall matplotlib
(venv) .... $ ln -s /usr/lib/pymodules/python2.7/matplotlib $VIRTUAL_ENV/lib.python*/site-packages

答案 2 :(得分:0)

尝试安装这些库,它对我有用:

$ sudo apt-get install tcl-dev tk-dev python-tk python3-tk