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

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

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

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

1

基础知识普及

要点:

Figure

Axes

Axis

Artist

本图片来自Matplotlib官网

1.Figure

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

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

然后获得一个figure对象fig

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

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

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

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

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

2.Axes

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

先声明一个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子图的标题

3.Axis

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

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画一个漂亮的曲线图

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

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

设置x和y轴的标签

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

2.pylab

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

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

结论:

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

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

Matplotlib:

R ggplot2

Pandas

D3

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

来源 | 菜鸟学Python

作者 | xinxin

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

责任编辑:

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

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

    这是菜鸟学Python的第101篇原创文章 阅读本文大概需要3分钟 数据分析里面可视化是重要的环节,辛苦把数据采集,然后经历了很多工序的清洗之后,最后要展现给用户,最好的方法就是数据可视化.数据可视化 ...

  2. 小白学习python好还是java好_小白应该学Python还是Java?

    Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天3分钟带你透彻 ...

  3. python在匿名函数作和_跟光磊学Python开发-匿名函数函数和高阶函数

    跟光磊学Python开发-匿名函数函数和高阶函数 跟光磊学Python开发-匿名函数函数和高阶函数跟光磊学Python开发 匿名函数 匿名函数就是函数定义时没有名字的函数,也称为匿名表达式. 普通函数 ...

  4. 转行python能拿到多少钱_想转行学python过来人提醒大家几点

    因为目前python非常火,应用也非常广泛,是目前最火的行业之一,竞争很大,工资很高,未来发展也极好. Python 现在到底有多热呢?我觉得我们可以看以下的这2组数据. 第一:Python 排名稳居 ...

  5. python删除文件夹无法访问_人生苦短 我学Python——anaconda和Jupyter notebook安装使用...

    一.人生苦短 我学Python 为什么学习Python? 1.应用范围广 很多网站是用Python开发的,比如豆瓣,还有YouTube等等. 2.效率高,和其他编程语言对比,可以用少得多的代码写出相同 ...

  6. python入门到熟练要多久_零基础学python要多久

    零基础进行Python学习的话,如果选择自学,一般学习周期在一年半左右.选择进行培训的话,学习Python周期一般在五到六个月左右,不过学习的种类不同,班级不同,培训周期也是存在一定差异的. 零基础学 ...

  7. python画画用哪库好_数据可视化哪款工具更好用?对比7款Python 数据图表工具的性能...

    更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer/column 作者:CDA数据分析师 摘要:Python 的科学栈相当成熟,各种应用场景都 ...

  8. python画画用哪库好_学Python画画:应用Turtle库画一个蠢萌的小黄人

    t.pensize(4) t.speed(10) 设置画笔的大小.画图的速度,可以改变数值来提升画笔的速度. python学习关注我们企鹅qun: 8393 83765 各类入门学习资料免费分享哦! ...

  9. python画画用哪库好_Python我要学画画-turtle库

    上帝说:"要有光!" 于是,就有了光. ---<圣经>旧约·创世纪篇 我要学画画,Python便有了turtle库. turtle库是一个点线面的简单图像库.画布中心为 ...

最新文章

  1. 自定义变量 配置文件_「系统架构」Nginx调优之变量的使用(3)
  2. 报班学python到底怎么样-学Python真的能让你找到出路吗?
  3. java按钮调用 后台方法_onclick怎么调用后台中的一个方法
  4. 02-24 面向对象--方法重载、隐藏
  5. UESTC_秋实大哥与花 2015 UESTC Training for Data StructuresProblem B
  6. 用计算机怎么打出狂浪字谱,狂浪歌曲简谱
  7. 【杭州云栖】飞天技术汇CDN与边缘计算专场:让内容离消费者更进一步
  8. MySQL数据的备份与还原实现步骤
  9. 36 MM配置-采购-采购订单-采购订单审批-编辑特性
  10. 披星戴月地辛苦割胶或成历史,海南胶园迎来这一“神器”!
  11. watch 与 computed
  12. 学习一下 PDF417 条码
  13. 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追跡的批次处理
  14. ffmpeg将视频转换成图片
  15. excel打印预览分页_Excel分页符预览技巧
  16. PS2022 安装教程
  17. CUDA +cnn安装
  18. Word——加了项目符号后,第二行就与第一行对不齐的一种解决方法
  19. C Primer Plus 第02章 C语言概述 学习笔记及复习题、编程题解答
  20. FACIAL阅读笔记

热门文章

  1. LeetCode 1362. 最接近的因数
  2. LeetCode 1020. 飞地的数量(图的BFS/DFS)
  3. LeetCode 1030. 距离顺序排列矩阵单元格(排序Lambda表达式BFS)
  4. LeetCode 221. 最大正方形(DP)
  5. POJ 1753 Flip Game(回溯)
  6. git add remote_使用git管理嵌入式软件版本
  7. python设计模式之享元模式
  8. 李宏毅机器学习(二)自注意力机制
  9. 无需人工!无需训练!构建知识图谱 BERT一下就行了!
  10. Java多线程系列(四):4种常用Java线程锁的特点,性能比较、使用场景