问题描述
在使用 matplotlib 画 violinplot 这个图形的时候报错了。出现了下面的错误提示:
AttributeError: 'AxesSubplot' object has no attribute 'violinplot'
chicho@destiny:~/test$ python Boxplot_vs_violin.py Traceback (most recent call last): File "Boxplot_vs_violin.py",line 36,in <module> axes[0].violinplot(all_data,AttributeError: 'AxesSubplot' object has no attribute 'violinplot'
发现可能是自己的matplotlib 的版本太旧。
检查了一下自己的版本信息,是1.3.1 不能支持2.0 以上的功能
所以现在就是要更新我们的版本信息
查看matplotlib 版本信息的方法
查看matplotlib 版本信息的方法总共有两种
方法一:
$ python2.7 -c 'import matplotlib; print matplotlib.__version__,matplotlib.__file__'
方法二:
chicho@destiny:~$ ipython
Python 2.7.12 (default,Jul 18 2016,15:02:52)
Type "copyright","credits" or "license" for more information.
IPython 1.2.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object',use 'object??' for extra details.
In [1]: import matplotlib
In [2]: print matplotlib.__version__
2.2.2
直接在Python环境下来查看。
当然如果你还没有安装的话,那么你就按照官网的方法来安装就好了。方法如下:
python -mpip install -U pip
python -mpip install -U matplotlib
按照这篇文章介绍的方法,我试了一下,发现并有没什么用。
https://blog.csdn.net/YhL_Leo/article/details/71552526
出现了下面的问题
所以还是要靠自己呀。
首先我先安装了一个依赖库,因为在进行某步的时候提醒我需要安装subprocess32
安装的方法:
pip install subprocess32
我首先安装官网的方法:
第一步
sudo python -mpip install -U pip
这句话的意思是安装跟新的pip 版本,但是用这个语句的话,不能自动更新版本哎。
发现出错了,我的版本信息是1.5.4 可是要求的版本信息是9.0.1
所以现在的目的就是先更新我们的pip
跟新一下
pip install -U pip
这个没有啥子用哟
所以就重新安装了一下pip
sudo python get-pip.py
看吧这样我们就直接得到了我们的更新之后的pip
发现直接用命令安装matplotllib不行,所以就从源码下载安装
https://matplotlib.org/faq/installing_faq.html#install-from-git
具体的方法
git clone git://github.com/matplotlib/matplotlib.git
cd matplotlib
python -mpip install .
我之前安装的时候没有更新pip 在 python -mpip install . 这里出现了问题
在这里安装的时候必须保证我们的pip 的版本信息是9.0.1 以上否则就会出错,上面已经讲了跟新的方法
sudo python get-pip.py
就是这么做
跟新之后我们在安装一遍试试
sudo python -mpip install .
发现还是不行,我们用跟新的方法来看看问题
sudo pip install -U matplotlib
最后好了,所以在安装的时候我们先要跟新pip 之后在安装的时候记得要加 sudo 否则权限不够会出错。
总结
原文链接:/ubuntu/349557.html