python画画用哪库好_小白开始学Python最著名的绘图库

原标题:小白开始学Python最著名的绘图库

这是菜鸟学Python的第101篇原创文章

数据分析里面可视化是重要的环节,辛苦把数据采集,然后经历了很多工序的清洗之后,最后要展现给用户,最好的方法就是数据可视化。数据可视化是一门艺术也是科学,可视化的神兵利器很多,今天介绍大名鼎鼎的Matplotlib,当然还有懒人专用的pandas画图,只要几行搞定,还有R语言的ggplot2最人性的库,以及酷炫的JS库D3.今天就先了解一下Python中最著名的绘图库Matplotlib,看看到底如何做出漂亮的图

有的小伙伴不解,为啥叫它鼻祖的,因为其他的可视化的数据包都是从它演变而来,二次封装的。Matplotlib本身是免费而且开源的,貌看一下感觉非常复杂,API超级多。小白想学它,必须循环渐进,不然很容易迷路,不懂章法学到后面会吐,我们先用几个基本的概念慢慢入手吧

1

基础知识普及

要点:

Figure

Axes

Axis

Artist

be26d6e33158449a8685eafa1cd3817f_th.png

本图片来自Matplotlib官网

1.Figure

Figure就是上面图上的红色框,其实就是图像,在matplotlib中整个图像就是一个figure,在figure对象中可以包含一个或者多个Axes对象。而每个Axes对象又拥有自己坐标系统的绘图区域

7634911a3b07432ca48907eeec0700d1.jpg

首先要import matplotlib这个库,没有的同学可以安装一下,或者直接用Anaconda这个非常方便的工具(这个工具是个Pycharm齐名的,特别是数据分析的时候)

然后获得一个figure对象fig

然后我们要画一个二行一列的坐标图,可以用subplots直接生成一个2*1的2个子图,2就是表示这个图像里面有2个坐标图,1表示是1列

5ca4105bae704033ab24466fbd4ed174_th.png

比如想生成多个子图怎么办,也很简单:

subplot(numRows, numCols, plotNum),subplot把整个图像分成行列式排列.

从左到右排列,比如我们创建一个2*2的多子图

3c84cc882c5542c09b62591b64e93532.jpg

a293aca18c5941c1926f9d8602957ba0_th.png

是不是感觉很漂亮,不急后面还有更多漂亮的图呢

2.Axes

Axes其实就是子图,就是一个有x坐标轴和y坐标轴的坐标轴图.一个figure可以包含多个子图,通过axes对象可以多轴图里面进行各种各样绘图的操作

d54ee48791324564b0ac64cbeac9cea2_th.jpg

先声明一个figure

然后用add_subplot增加一个子图ax1,1行1列的图

构造一个x,y的坐标,我们用最简单的x=[1,2,3,4],y=[2,3,4,5]

下面是最重要的plot函数,这个函数非常非常重要,参数很多

第一个和第二个参数是对应的x,y轴上面的坐标数(1,2),(2,3)..

第三个数字是坐标图图上的曲线类型,这里我们选圆心'o',还有折线

图'--', 小三角'v',点线':',五角星'*'等等一共有几十种选择

后面的参数都是关键字参数,比如我们这本设定了颜色是'r'红色

color='r',还可以设置线条的宽度linewidth=2

最后设置一下ax1子图的标题

c2aa4a15c10042b8b73bf2dbcab2db87_th.png

3.Axis

axis其实很好理解,就是每个子图上x轴和y轴上的线,刻度标记,以及刻度标记的注释,详细见下图

cefb907c80ca4ca3ae31959fa84bf848_th.png

Title为标题(我们写成Simple figure)

Axis为坐标轴,Label为坐标轴标注,Tick为刻度线,Tick Label为刻度注释

4.Artist

上面所有的图里面的元素其实都是artist ,总结一下:一个图像可以包含一个多个子图axes,而每个子图都是一个轴图,包含了xaxis,yaxis,title和data.Data其实就是我们绘图的关键数据.

2

两个重要的库

matplotlib里面有两个非常重要的库,一个是pyplot ,另一个 pylab,详细如下:

pyplot模块:绘图API,提供了和matlab类似的绘图API,方便用户快速绘制2D图表

pylab模块:集成库,主要是包含了Numpy和pyplot中的一些常用函数,方便用户快速进行计算和绘图,可以用于IPython中的快速交互式使用

下面举两个非常简单的例子

1.用pyplot画一个漂亮的曲线图

3ce8054e5eac43f18597868e81480155_th.png

首先用numpy生成一个0,3的序列,步长是0.1

然后plt画3个数据图,第一个是线性,第二个是平方指数,第三个是立方指数

设置x和y轴的标签

plt.legend是设置图例,上面的3个label设置的'linear','quadratic','cubic'就会显示在图例里面

9b413399982347f48de93a04989f2d5f_th.png

2.pylab

pylab一般用在 IPython用于交互式的绘图,下面是一个简单的例子

用法和pyplot模块非常像,也有plot库.

2ff030bf0bc04c3db60509be09eeded8_th.jpg

a166d7cfd5eb4bf282bc50173f06cbf5_th.png

结论:

好,数据可视化之matplotlib上手篇,就讲道这里,是不是觉得还蛮简单的,其实matplotlib的功能很强大。只要理清楚它的结构,循序渐进的学,你就会发现matplotlib可以画出很多美丽的,直观的2D图片.当然后面有更牛的js库D3,二者各有千秋.接下来会介绍matplotlib里面各种花色图形,敬请期待~~

另外大家猜猜:我最喜欢用哪种数据可视化库

Matplotlib:

R ggplot2

Pandas

D3

164812591_752099

欢迎大家关注 菜鸟学Python",更多好玩有趣的Python原创教程,趣味算法,经验技巧,行业动态,尽在菜鸟学Python,一起来学python吧

164812591_752099

来源 | 菜鸟学Python

作者 | xinxin

本文章为菜鸟学Python独家原创稿件,未经授权不得转载

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​2021年人工智能的四大趋势

来源:工信头条PART Ⅰ前沿资讯2021年人工智能的四大趋势美国《福布斯》双周刊网站刊载题为《2021年人工智能的四大趋势》的报道,作者系伯纳德马尔,文章根据当下形势,预测了明年人工智能的四个趋势。在2020年全球疫情暴发和世界被彻…

和移动对接短信http协议和cmpp协议那个好_python网络爬虫之HTTP原理,爬虫的基本原理,Cookies和代理介绍...

一.HTTP基本原理(一)URI和URLURI的全称为统一资源标志符,URL的全称为统一资源定位符。用来指定一个资源的访问方式,包括访问协议,访问路径和资源名称,从而找到需要的资源(网页的内容都是按照一定层次保存到网站系统的后台数据库或者文件夹内)…

计算机专业介绍范文英文,计算机专业个人简历英文范文

计算机专业个人简历英文范文2019-08-13版权声明举报文章I have the honor to present a brief introduction of myself to you in compliance with the requirements of your graduate admission I was born in November 7th, 1966, at the town of Changing, Beijing. My pare…

【Linux】使用ZStack私有云创建本地Linux服务器

1、运维配置了一台Linux的主机,然后安装了ZStack,前面这部分操作运维处理了。 2、首先打开Zstack的网址地址,一般是一个IP地址(此时不写) 3、然后进入页面后,默认进入首页,此时可以按照流程逐次…

信息科学部鼓励科学家更多瞄准“原创”研究

来源:《中国科学报》 (2020-09-28 第4版 自然科学基金)信息科学是研究信号/信息的产生、获取、传输、处理、存储、显示和应用及其相互关系的科学。在引导申请人进行分类申请方面,信息科学部认真落实四类科学问题属性资助导向的科学基金改革任务。2020年&…

未来的计算机作文100,未来的自己作文100字

未来的自己作文100字未来的我,将会是一名医生,我会让全世界的病人都康复起来,不再受病魔的折磨。下面由小编为您整理出的未来的自己作文,一起来看看吧。未来的自己作文1未来的我,将会是一名医生,我会让全世…

深度解析:特斯拉的工厂为什么建造得这么快?

内容来源:The BIM编辑:小艾 从建厂到投产到量产,特斯拉上海超级工厂只用了不到一年时间。特斯拉电动汽车市场占有率一直在上升,并因此扩大生产规模,以惊人的速度建立了多个超级工厂。内华达、纽约、德州、上海、柏林等…

html控制图的宽,用JointJS做一个简单的功能控制图

继上一篇介绍了GoJS之后,继续研究JS的绘图工具,毕竟GoJS有些小贵。这次选择了JointJS,完全开源,它还有一个商业版本叫Raddit,功能更强大。不过就我的需求场景,开源的Joint就足够了。接下来,我们…

kax格式怎么导入不了pr_pr如何导入.mogrt文件 pr模板导入教程

Mogrt 文件是什么,Mogrt格式的模板文件,又称之为Pr动态图形模板,是一种新型的模板格式。.mogrt文件如何使用,pr如何导入.mogrt文件呢?Macw小编为大家带来了pr模板导入教程,一起来看看吧!pr如何导…

《科学》:作弊者并非赢家,合作的物种表现得更好

本文系生物谷原创编译,欢迎分享,转载须授权!健康的人际关系的标志是你付出多少,得到多少。自然界有它自己的健康关系。互利共生(mutualism)是指物种之间的相互作用,对每个物种都有利。一个例子是…

plt.savefig 不保存边框_Matlab科研绘图 amp; 保存

为方便自己绘图,记录一下画图常用命令。会不定期完善代码,欢迎评论区交流好用的画图技巧。部分绘图效果展示绘图代码详解以随机噪声为例x代码绘图结果:保存图片方式①复制无损矢量图:在figure中使用菜单edit---->copy figure&a…

servlet源码查看

1,下载源码,点击此处可下载 2,创建web项目 我这里以jdbc这个web项目为例讲解 在javaee libraries中有个javaee.jar包,选中它-->右击--》Properties 找到你下载的jar包 打开---apply 即可】 在任意一个.java文件中,…

自动驾驶出行,进入下半场

来源:脑极体近两年,出行领域最值得人们期待的创新恐怕就是自动驾驶技术了。经过长达十年的技术积累和两年的商业试验,自动驾驶出行已经正在开放商用的道路上逐渐加速。就在这个月初,百度Apollo自动驾驶出租车在北京海淀、亦庄等区…

python安装百度aip_Python3.6安装aip

AIP的安装(此aip非百度AIP) 如同以往安装库的方法一样,进入目录:C:\Users\admin\AppData\Local\Programs\Python\Python36\Scripts 执行:pip install aip我们的aip目录如下:如果正常导入AipOcr的话会报错的…

python缩进格式错误的是_Python 中常见错误总结

IndentationError: unexpected indent Python 中强制缩进,, IndentationError: unexpected indent 缩进错误 这类错误非常常见,一般都是由于tab在不同的平台上占用长度不同导致,有些事程序员自己直接使用空格或其他来顶替tab。 解…

史上曾被认为不可能的十大科学难题全被实现

来源:科学解码对于科学家来说,好像没有什么事情是不可能做到的。纵观科学发展史,我们便会发现,一个又一个看似“不可能的任务”最终都成为可能,例如利用核能、上演太空飞行、创建力场以及远距离传物。几个世纪前&#…

广东省一本计算机学校排名,南方科技大学排名2021 广东排名第16全国排名第276...

南方科技大学排名2019 广东排名第16全国排名第276每年的大学排名位次争议很大,虽然各大学校长口头上称不在乎、不看重,但实际上却卯足干劲,希望学校排名靠前,因为大学排名一定程度上体现了高校的办学成就。高考升学网本文介绍的主…

webpack轻松入门教程

webpack之傻瓜式教程及前端自动化入门 接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难…

首个单设备模拟神经元出现 可有效解决传统计算机所面临的问题

来源:IEEE电气电子工程师Photo: Research Group of R. Stanley Williams对于工程师们来说,无法实现人类大脑效率和超强计算性能的其中一个原因在于,一直以来我们缺少一种可以独立发挥神经元作用的电子设备。要做到这一一点,需要我…

电子科大沙河校区有计算机专业,电子科大沙河校区学费

依据电子科大沙河校区最新收费标准,电子科大沙河校区的学费每人每年需要4400元-60000元不等。其中中外合作办学项目每人每年需要60000元;理科专业每人每年需要4900元;文科专业每人每年需要4400元;软件工程专业每人每年需要9800元。…