【现学现用】matplotlib画图(plt与ax的关系add_subplot与subplots等)

学习python画图是必需掌握的技能,不能每当画图便寻求搜索引擎的帮助,还是自己梳理一遍吧!本篇文章还是围绕如何快速应用而展开,当然也要知晓一些所以然。

1 疑惑

1.1 plt还是ax

看了许多书本中的画图示例,有直接在plt上画的,也有用ax画的,这两者究竟是什么,又有哪些区别呢。

从下面这一行代码进行解读:

fig,ax=plt.subplots()
  • 什么是fig?

在任何绘图之前,我们需要一个Figure对象,至少要有这一层才可以画。.plt 对应的就是最高层 scripting layer。这就是为什么它简单上手,但要调细节就不灵了。即:

fig=plt.figure()
  • 什么是ax,axes?

axis 指的就是 x 坐标轴,y 坐标轴等,代表的是一根坐标轴。而 axes 在英文里是 axis 的复数形式,也就是说,axes 代表的其实是 figure 当中的一套坐标轴。之所以说一套而不是两个坐标轴,是因为如果你画三维的图,axes 就代表 3 根坐标轴了。所以,在一个 figure 当中,每添加一次 subplot ,其实就是添加了一套坐标轴,也就是添加了一个 axes,放在二维坐标里就是你添加了两根坐标轴,分别是 x 轴和 y 轴。

ax.plot 是在 artist layer 上操作。基本上可以实现任何细节的调试。

[以上源自第一个参考链接的评论区]

ax=fig.add_subplot(1,1,1) # 前两个参数代表子图的行数和列数,第三个参数表示代表第1个子图

在这里插入图片描述

以上便是对fig,ax=plt.subplots()的详细分解。

2 add_subplot()与subplots()

2.1 add_subplot()

这两者的主要区别是前者返回一个对象,后者可以返回一个对象数组即多个对象,具体参见下方示例。

  • add_subplot(nrows, ncols, index)

通过自己创建的几个示例,大致搞懂了add_subplot(),相当于在我们创建的figure画布上通过添加ax堆叠。

示例1:创建折线图

在(5,4)大小的画布上画折线图,只添加一个ax的情形

x=[1,2,3,4,5]
y=[3,1,4,5,2]
fig=plt.figure(figsize=(5,4))
ax=fig.add_subplot(1,1,1)
ax.plot(x,y)
plt.show()

在这里插入图片描述

示例2:两张图表情形

x1=[1,2,3,4,5]
y1=[3,1,
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火柴先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值