我在我的virtualenv中安装了pip matplotlib,我试图绘制一个简单的图形。我使用Eclipse和PyDev。当我从Eclipse运行脚本时,它根本不显示任何图形。我已经尝试过在其他问题中提出的建议,例如添加plt.ion(),但这也不起作用。我也在控制台中尝试了相同的代码,但没有。这是我配置的问题吗?如果是这样我该怎么办?
失败的代码是:
import matplotlib.pyplot as plt
radius = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
area = [3.14159, 12.56636, 28.27431, 50.26544, 78.53975, 113.09724]
plt.plot(radius, area)
plt.show()
代码不是问题。它可以很好地用于virtualenv。问题是当我在virtualenv中使用它时。问题与我的配置有某种关系。只是为了清理我没有收到任何错误消息。只是窗口不会出现。
谢谢
答案 0 :(得分:9)
您的代码在OSX 10.7上的virtualenv中使用Python 2.7:
您在virtualenv中使用的是哪个版本的Python?我的猜测是你没有安装matplotlib依赖项,或者你没有正确执行已安装依赖项的安装。在Python 2.7上,这是我安装matplotlib所做的。您是否可以在新的virtualenv中尝试这些步骤,看看它是否适合您?
pip install numpy
pip install scipy
easy_install matplotlib
答案 1 :(得分:9)
我遇到了同样的问题,使用matplotlib
代替easy_install
安装pip
并没有解决问题。最后,我发现问题只是matplotlib无法找到任何后端进行绘图。
我通过执行以下操作解决了这个问题(我正在使用Debian wheezy):
pip uninstall matplotlib
sudo apt-get install tcl-dev tk-dev
pip install matplotlib
答案 2 :(得分:6)
首先,你可能想看看:
要查看出现了什么问题,请使用git而不是pip或easy_install查看matplotlib。我们将进行更多手动安装:
git clone git@github.com:matplotlib/matplotlib.git
cd matplotlib
python setup.py
这将打印出pip或easy_install所做的配置。查看“OPTIONAL BACKEND DEPENDENCIES”并确保生成窗口的一些(Tkinter,Gtk +,Mac OS X native,Qt,Cairo等)。如果您发现这些都不可用,那么在继续安装matplotlib之前,需要为您的操作系统安装一些这些库。
安装了say,Tk(在ubuntu:sudo apt-get install tcl-dev tk-dev
上),然后当你重新运行时
python setup.py
您将看到启用了Tk后端 。继续进行
python setup.py build && python setup.py install
应该让你运行起来......但是那时你甚至可以删除整个git clone目录并返回使用pip进行安装。
答案 3 :(得分:4)
如果您的系统版本的python上安装了matplotlib版本,则可以链接到matplotlib的系统版本。在我的机器上,我做了以下事情:
cd $VIRTUAL_ENV/lib/python2.7/site-packages
ln -s /usr/lib/pymodules/python2.7/matplotlib .
ln -s /usr/lib/pymodules/python2.7/matplotlib-1.1.1rc .
这避免了使用matplotlib在virtualenv中工作的许多问题,但是限制你使用matplotlib的系统版本(在这台机器上也不错)。
此方法还允许您使用--no-site-packages,但仍然可以使用matplotlib。
答案 4 :(得分:2)
我在我的电脑上使用Ubuntu 12.04和Python 2.7.3 当我在virtualenv中使用matplotlib 1.2.0时,show()在我将其升级到1.2.1之前不起作用...我之前遇到的所有错误都消失了......
通过执行此操作,您将安装matplotlib的所有依赖项:
sudo apt-get build-dep python-matplotlib
要获取最新版本的matplotlib,您可以使用:
pip install matplotlib
或升级它:
pip install matplotlib --upgrade