Python编程深度学习绘图库之matplotlib


Posted in Python onDecember 28, 2018

matplotlib是python的一个开源的2D绘图库,它的原作者是John D. Hunter,因为在设计上借鉴了matlab,所以成为matplotlib。和Pillow一样是被广泛使用的绘图功能,而在深度学习相关的部分,matplotlib得宠的多。这篇文章将简单介绍一下如何安装以及使用它来画一些非常常见的统计图形。

概要信息

Python编程深度学习绘图库之matplotlib

注意事项:由于Python2支持到2020年,很多python库都开始主要支持python3了,matplotlib的主分支也已经是python3了。而这篇文章中为了简单,安装和demo代码依然是在python2.7上进行验证的。

安装

使用pip install即可直接安装。安装日志如下:

liumiaocn:tmp liumiao$ python -mpip install -U pip
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages (10.0.1)
liumiaocn:tmp liumiao$ 
liumiaocn:tmp liumiao$ python -mpip install -U matplotlib
Collecting matplotlib
 Downloading https://files.pythonhosted.org/packages/61/38/d70e8bf77d5cb27d5f3595edd0b3978825063feadd023786d2591e393e6e/matplotlib-2.2.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (13.7MB)
  100% |????????????????????????????????| 13.7MB 2.1MB/s 
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
 Downloading https://files.pythonhosted.org/packages/6a/8a/718fd7d3458f9fab8e67186b00abdd345b639976bc7fb3ae722e1b026a50/pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
  100% |????????????????????????????????| 61kB 5.8MB/s 
Collecting backports.functools-lru-cache (from matplotlib)
 Downloading https://files.pythonhosted.org/packages/03/8e/2424c0e65c4a066e28f539364deee49b6451f8fcd4f718fefa50cc3dcf48/backports.functools_lru_cache-1.5-py2.py3-none-any.whl
Collecting subprocess32 (from matplotlib)
 Downloading https://files.pythonhosted.org/packages/fa/60/b50459f291cae6bc1d0ff711b75e5130684fd3949370fdba78f6c57c1903/subprocess32-3.5.2-cp27-cp27m-macosx_10_6_intel.whl
Collecting pytz (from matplotlib)
 Downloading https://files.pythonhosted.org/packages/dc/83/15f7833b70d3e067ca91467ca245bae0f6fe56ddc7451aa0dc5606b120f2/pytz-2018.4-py2.py3-none-any.whl (510kB)
  100% |????????????????????????????????| 512kB 8.9MB/s 
Requirement not upgraded as not directly required: six>=1.10 in /usr/local/lib/python2.7/site-packages (from matplotlib) (1.11.0)
Collecting python-dateutil>=2.1 (from matplotlib)
 Downloading https://files.pythonhosted.org/packages/cf/f5/af2b09c957ace60dcfac112b669c45c8c97e32f94aa8b56da4c6d1682825/python_dateutil-2.7.3-py2.py3-none-any.whl (211kB)
  100% |????????????????????????????????| 215kB 7.2MB/s 
Collecting kiwisolver>=1.0.1 (from matplotlib)
 Downloading https://files.pythonhosted.org/packages/79/d8/94633718f3f77dcb638687a77ba199325a1cb158d2d4b00c9dc17f2b5c72/kiwisolver-1.0.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (110kB)
  100% |????????????????????????????????| 112kB 5.9MB/s 
Collecting cycler>=0.10 (from matplotlib)
 Downloading https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl
Requirement not upgraded as not directly required: numpy>=1.7.1 in /usr/local/lib/python2.7/site-packages (from matplotlib) (1.14.5)
Requirement not upgraded as not directly required: setuptools in /usr/local/lib/python2.7/site-packages (from kiwisolver>=1.0.1->matplotlib) (39.2.0)
Installing collected packages: pyparsing, backports.functools-lru-cache, subprocess32, pytz, python-dateutil, kiwisolver, cycler, matplotlib
Successfully installed backports.functools-lru-cache-1.5 cycler-0.10.0 kiwisolver-1.0.1 matplotlib-2.2.2 pyparsing-2.2.0 python-dateutil-2.7.3 pytz-2018.4 subprocess32-3.5.2
liumiaocn:tmp liumiao$

确认

liumiaocn:~ liumiao$ pip show matplotlib
Name: matplotlib
Version: 2.2.2
Summary: Python plotting package
Home-page: http://matplotlib.org
Author: John D. Hunter, Michael Droettboom
Author-email: matplotlib-users@python.org
License: BSD
Location: /usr/local/lib/python2.7/site-packages
Requires: pyparsing, backports.functools-lru-cache, subprocess32, pytz, six, python-dateutil, kiwisolver, cycler, numpy
Required-by: 
liumiaocn:~ liumiao$

使用

正弦函数

我们使用numpy和matplotlib可以非常简单地就能够画出正弦的波形图,具体代码如下:

liumiaocn:plot liumiao$ cat plot-1.py 
#!/usr/local/bin/python
import numpy as np
import matplotlib.pyplot as plot
print("y=sin(x): x with range fo -4pi to 4pi")
x=np.arange(-4*np.pi, 4*np.pi, 0.1)
y=np.sin(x)
#print sin
plot.plot(x,y)
plot.show()
liumiaocn:plot liumiao$

执行&结果确认

liumiaocn:plot liumiao$ python plot-1.py 
y=sin(x): x with range fo -4pi to 4pi

Python编程深度学习绘图库之matplotlib

直方图

最简单的直方图的做法,可以通过bar或者hist来创建

liumiaocn:plot liumiao$ cat plot-2.py 
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(7)
y = (10,15,24,7,14,30,20)
plt.bar(x,y)
plt.show()
liumiaocn:plot liumiao$

Python编程深度学习绘图库之matplotlib

饼图

使用pie函数创建饼图

liumiaocn:plot liumiao$ cat plot-3.py 
#!/usr/local/bin/python
import matplotlib.pyplot as plt
dateinf = '06/01', '06/02', '06/03', '06/04', '06/05', '06/06', '06/07'
bugnums = [11,22,7,29,24,15,18]
plt.pie(bugnums, labels=dateinf)
plt.show()
liumiaocn:plot liumiao$

Python编程深度学习绘图库之matplotlib

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
巧用Python装饰器 免去调用父类构造函数的麻烦
May 18 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
django框架如何集成celery进行开发
May 24 Python
python的unittest测试类代码实例
Dec 07 Python
python机器学习实战之树回归详解
Dec 20 Python
Python实现的栈(Stack)
Jan 26 Python
Pycharm更换python解释器的方法
Oct 29 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
Python tkinter三种布局实例详解
Jan 06 Python
Python列表操作方法详解
Feb 09 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
Jul 28 Python
对pandas写入读取h5文件的方法详解
Dec 28 #Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 #Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 #Python
python 检查是否为中文字符串的方法
Dec 28 #Python
浅谈python3发送post请求参数为空的情况
Dec 28 #Python
python3使用flask编写注册post接口的方法
Dec 28 #Python
python通过tcp发送xml报文的方法
Dec 28 #Python
You might like
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
js精度溢出解决方案
2012/12/02 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
python fabric实现远程操作和部署示例
2014/03/25 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
对python字典过滤条件的实例详解
2019/01/22 Python
python中pivot()函数基础知识点
2021/01/03 Python
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
精彩的演讲稿开头
2014/05/08 职场文书
党员教师一句话承诺
2014/05/30 职场文书
公证处委托书
2015/01/28 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
nginx部署多前端项目的几种方法
2021/05/25 Servers
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android