matplotlib绘图窗口将不应用

2024-06-01 04:28:05 发布

您现在位置:Python中文网/ 问答频道 /正文

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

输入:

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。有什么建议吗?


Tags: 数据orgdevimporthttp绘图示例docs
2条回答

我在virtualenv内部工作时遇到了这个问题。

原因

问题的原因是,当您pip install matplotlib时,它找不到任何后端(即使它们安装在您的计算机上),因此它使用“agg”后端,它不进行任何绘图,只写文件。要确认是这种情况,请转到:python -c "import matplotlib; print matplotlib.get_backend()",您可能会看到agg

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

溶液

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

...$ 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

在那之后,我可以使用matplotlib,这些图就会显示出来。本地版本的matplotlib可能位于其他位置。要查看它在哪里,请转到(在venv之外,在python中)

...$ python -c 'import matplotlib; matplotlib.__file__'

我不认为这是熊猫的问题。

是的

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()应该会为您弹出一个窗口。

HTH公司

相关问题 更多 >