plt.subplots()和fig.add_subplot()的联系

这是一些学习心得,欢迎指正。

最近刚开始学python,总是东拼西凑找代码,很多地方一知半解。这两天我在整理代码时,发现自己的两个py文件中,一个画布(figure)绘制多个图片时,用了不同的代码plt.subplots()和fig.add_subplot(),于是研究了一下它们的联系与区别。

fig = plt.figure()
ax = fig.add_subplot()

这是第一种情况,它首先调用plt里面的figure,创建了一个画布,将其赋值给了fig(这个名字随便起),然后调用plt.figure中的 add_subplot(),创建坐标轴区,将其赋值给ax(随便取名)。

形成plt-->fig-->ax,此后fig.xxx就是在画布上绘制,ax.xxx就是在坐标轴区绘制。要注意的是.figure和.add_subplot都是调用函数,名字不能变。fig和ax是自定义的对象,名字可以改。

fig, ax = plt.subplots()

这是第二种情况,它首先调用plt里面的subplot,创建一个含有坐标轴区的画布,将画布赋值给前面的fig,将坐标轴区赋值给ax。形成plt-->fig,ax。

总而言之,使用plt.subplots(),就是plt把subplots里的工具分给了fig和ax。使用fig.add_subplot()就是plt把figure里的工具给了fig,fig再把figure里的add_subplot()部分的工具给了ax。

还有一个问题,就是fig和ax通过两种方式拿到各自的工具(即函数),这些工具的使用方法(即调用方式)是否一致?从我的简单的例子来看是一致的。

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot()

# fig, ax = plt.subplots()
ax.plot(np.random.rand(20))
ax.set_title('test title')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# fig = plt.figure()
# ax = fig.add_subplot()

fig, ax = plt.subplots()
ax.plot(np.random.rand(20))
ax.set_title('test title')
plt.show()

 

这两种方式都可以绘制出想要的图。由此可见,至少ax.plot和ax.set_title的调用是通用的。

plt.subplots()和fig.add_subplot()是一个屋子的两个门,随便走哪个门都可以进。python很丰富,即使进一个屋子也会有不同的门,这带来了方便,也给初学者带来了一些困惑。

python中的plt是什么意思_Matplotlib中的“plt”和“ax”到底是什么?_weixin_39870664的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值