三剑客——figure-subplot-axes

本文介绍了在Python的Matplotlib库中使用subplot和axes创建子图的方法。通过实例展示了如何利用这两种方式布局图表,并对比了它们的特点。subplot适用于网格布局,而axes则更灵活,可用于创建重叠和不规则布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前搞数据分析的时候会经常涉及到几个概念,如标题所示,有点小懵,今天简单搞一下……

import numpy as np
import matplotlib.pyplot as plt
#在fig中生成两个子图ax1和ax2
fig=plt.figure()
ax1=fig.add_subplot(221)  #两行两列的子图矩阵的第一个位置(从左到右从上到下数)
ax2=fig.add_subplot(224)  #两行两列的子图矩阵的第四个位置
ax1.set(xlim=[0.1,1.2],ylim=[1.4,6],title='NO.1-subplot',ylabel='y1-axis',xlabel='x1-axis')  #设置子图的属性,包括xy轴的范围和标题
ax2.set(xlim=[0.5,1.5],ylim=[100,300],title='NO.2-subplot',ylabel='y2-axis',xlabel='x2-axis')
#在fig1中生成四个子图ax3~ax6
fig1=plt.figure()
ax3=fig1.add_axes([0.2,0.2,1,1])  #添加轴域前两个参数为原点坐标(左下角坐标),后两个参数为xy轴的长度
ax4=fig1.add_axes([0.4,0.4,1,1])
ax5=fig1.add_axes([0.6,0.6,1,1])
ax6=fig1.add_axes([0.8,0.8,1,1])
#显示所有子图
plt.show()

看下效果:

第一个figure分成了两行两列四块,我们分别在第一块和第四块中进行画图;第二个figure包括四个轴域,通过设定坐标原点形成了层叠的效果。

figure就相当于一个画板,我们要作图的画纸就是subplot/axes,其中subplot意为子图,axes意为轴域,这两个概念差不多,后者相较于前者更加灵活,大家从图中也能看出,二者都是一个可以画图的轴域,也就是一个子图,即xy轴形成的区域。

在matplotlib.pyplot中,subplotaxes都是用来创建多个或坐标的函数。 subplot函数用于创建一个具有指定行列数的网格,然后在该网格中选择一个进行绘制。subplot函数的参数包括行数、列数的位置。例如,plt.subplot(2, 2, 1)表示在一个2行2列的网格中选择第1个位置作为当前进行绘制。 而axes函数则是用来创建一个指定位置大小的坐标。它可以直接确定在画板或画布中的位置尺寸。例如,plt.axes([0.1, 0.1, 0.8, 0.8])表示创建一个相对于画布左下角为(0.1, 0.1)的位置,宽度为0.8,高度为0.8的坐标。 总结起来,subplot函数用于在特定位置创建,而axes函数用于创建具有指定位置尺寸的坐标。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【matplotlib】 解pyplot figuresubplotaxes、axis的区别](https://blog.youkuaiyun.com/JasonZhu_csdn/article/details/85860963)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python使用add_subplotsubplot操作示例](https://download.youkuaiyun.com/download/weixin_38628626/13770780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

beyond_LH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值