python2.7之matplotlib中plt.show()不显示图的解决办法

最近,我重新安装了ubuntu,使用virtualenv安装了matplotlib。然后,问题来了。当我运行下列代码时,没有图框跳出来。
import matplotlib.pyplot as plt
plt.show()
plt.bar(left = 0,height = 1)
原因

我使用%pylab查看matplotlib后端,发现居然是agg。兄弟姐妹们,agg是不会画图的!
In [4]:%pylab
Using matplotlib backend: agg
Populating the interactive namespace from numpy and matplotlib
解决
1. 安装Tkinter 和 matplotlib

我的问题在于我原来的python居然没有Tkinter!!
sudo apt-get install tk-dev
pip uninstall -y matplotlib
pip –no-cache-dir install -U matplotlib #这是最关键的
2. 设置agg

其实经过上面的步骤,已经可以画图了
补充2种设置agg方法

临时的
import matplotlib
matplotlib.use('TkAgg')
这个命令必须在第一次使用%pylab 或者import matplotlib.pyplot as plt之前使用
常见的agg有:Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG

永久的
修改matplotlibrc文件
matplotlibrc文件的位置在:
[~/.virtualenvs/myenv]/lib/python2.7/site-packages/matplotlib/mpl-data/
修改位置:
backend      : youragg

至此,matplotlib可以正常工作了。

http://www.jianshu.com/p/3f4b89aaf057

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值