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通过smpt发送邮件的方法
Apr 30 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
Python多进程multiprocessing.Pool类详解
Apr 27 Python
python基于http下载视频或音频
Jun 20 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
Keras实现DenseNet结构操作
Jul 06 Python
Python数据分析之绘图和可视化详解
Jun 02 Python
python析构函数用法及注意事项
Jun 22 Python
python 进阶学习之python装饰器小结
Sep 04 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
php中unlink()、mkdir()、rmdir()等方法的使用介绍
2012/12/21 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
python字典操作实例详解
2017/11/16 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
Python 画出来六维图
2019/07/26 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
英国标准协会商店:BSI Shop
2019/02/25 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
敏捷开发的主要原则都有哪些
2015/04/26 面试题
体育老师的教学自我评价分享
2013/11/19 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python