18

我正在使用 64 位的 Python 2.7.3。我为 64 位安装了 pandas 和 matplotlib 1.1.1。现在,我的情节都没有显示。在尝试从几个不同的数据帧进行绘图后,我沮丧地放弃了,并尝试了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。有什么建议么?

4

3 回答 3

34

我根本不相信这是熊猫问题。

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

高温下,

于 2012-10-31T09:40:42.137 回答
1

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

原因

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

但是,我可以在系统上(在 virtualenv 之外)成功使用 matplotlib。由于各种不同的原因,我也未能安装 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__'
于 2016-03-03T18:32:41.953 回答
0

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

$ sudo apt-get install tcl-dev tk-dev python-tk python3-tk
于 2020-05-20T11:20:29.917 回答