matplotlib绘图

用matplotlib画图总是陷入这样的循环:某段时间需要处理数据画图时,matplotlib的用法忘记了,知乎微信一搜,看几篇博客,似乎又会了。画完图,隔段时间,下次遇到,又忘了。所以这一次想把画图的底层逻辑理一理。
首先就是fig、plt、ax的区别和联系了。
学习过程中遇到的几篇有启发的文章:
matplotlib画图详解
matplotlib,先搞清plt/ax再画图
matplotlib刨根问底
在csdn上,搜matplotlib画图,可以看到很多的示例。
看每个人的博客都觉得有道理,但他们之间的教程好像又并不统一。
画图的流程,始终分三步:
一、创建画板(也就是plot、scatter在哪里画)
可以plt.figure(输入画板大小的参数)
可以plt.axes()默认接收当前创造的figure,创造一个子图,返回子图的对象axes,并把这个子图当成当前图。
在这里插入图片描述
比如这里,虽然没有手动创建fig,但在plt.axes()的时候会隐式地创建一个figure。
可以plt.subplot(),接收的参数为三个数字,并且数字排列合理,返回一个axes对象
在这里插入图片描述
看这里两段代码对比,相当于第二个1,4,2是重新自动创建了新的figure。覆盖了之前的figure,所以最后只显示一张子图。

可以plt.subplots(),接收rows和cols,并自动创建一个figure和rowsxcols数量的axes,返回figure对象和axes对象嵌套列表。并默认选择最后一个axes为当前图。
在这里插入图片描述

上面代码里plt.plot([1,2]) 等价于axes[1][1].plot([1,2)(从0开始)
在这里插入图片描述
这里介绍了四种创建画板的方式,一般推荐用第四种,无论你需不不要生成子图都可以用。
在这里插入图片描述

二,创建完画板之后就是绘制图表
绘制的方式有画折现、散点、饼图、条形图、直方图等等,最重要的是画图的接口要搞清,一种是面向“当前图”的plt接口和面向对象的接口。不同接口的名字不一样,这也是为什么有时候看别人的博客,有些人用plt.xlabel(),有些人用axes.xlabel(),归根到底画图的接口不一样,选择的函数也不一样。
在这里插入图片描述三、画完图之后就是精修了,什么设置坐标轴的名称、坐标轴的刻度、坐标轴的范围、图例、图表title、网格线等。
在这里插入图片描述

画图时常遇到的参数设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值