【问题标题】:matplotlib plot window won't appearmatplotlib 绘图窗口不会出现
【发布时间】:2012-10-20 12:45:29
【问题描述】:

我正在使用 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。有什么建议吗?

【问题讨论】:

  • 查看您的代码 sn-p 我希望在 iso pylab.show() 末尾看到 plt.show()。

标签: python plot matplotlib 64-bit pandas


【解决方案1】:

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

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,

【讨论】:

  • 事实证明它确实有效,我只是在我的代码中使用了不正确的语法。谢谢。
  • @pelson,你用 pip 安装 matplotlib 了吗?因为它只适用于我,如果我只使用 sudo 命令
  • 那是因为你的 python 是 root 拥有的。这就是 Linux 操作系统的包管理器模式。查看stackoverflow.com/questions/7465445/… 了解可能的解决方案。
  • 我有一个类似的问题 - 当我 plt.show() 时没有任何显示。我使用 python 3 并使用 pip3 安装了 matplotlib。 rcParams['backend'] = 'Agg'。我通过 apt-get 安装了 python-tk,但仍然无法打开一个窗口。
  • 试试 rcParams['backend'] = 'TkAgg'
【解决方案2】:

我在 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__'

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 2011-01-09
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多