子图的布局——自定义布局(gridspec模块)

本文介绍了如何使用matplotlib的gridspec模块来定制画布中子图的布局,包括GridSpec类的构造方法参数如行数、列数、子图范围、间距以及坐标系的相对大小。通过实例展示了如何创建并调整子图间的空间和整体布局。

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

       matplotlib的gridspec模块是专门指定画布中子图位置的,通过创建GridSpec类对象来自定义画布中子图的布局结构,使得子图能更好的适应画布。

       GrodSped类的构造方法的语法格式如下:

   GridSpec(nrows, ncols, figure=None, left=None, left=None, bottom-None, right-None, 
            top=None, wsopace=None, hspace=none, width_ratios=None, height_ratios=None)
   

nrow:表示行数

ncols:表示列数

figure:表示布局的画布

left, bottom, right, top:表示子图的范围、

wspace:表示子图之间预留的横向距离

hspace:表示子图之间预留的纵向距离

width_ratios:表示坐标系的相对宽度

height_ratios:表示坐标系的相对高度

#1、导入相关模块 

%matplotlib auto  #通过窗口的形式显示图片,很好地体现子图与整个画布的位置关系

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

 #2、创建画布实例

fig2 = plt.figure()

 #3、创建“区域规划图实例” (GridSpec实例)

spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2,
                          #hspace=1, wspace=0.5  #调整坐标系之间的纵向/横向距离
                          #left=0.2,right=0.8,bottom=0.25,top=0.5 #把所有坐标系实例打包在一 
                                                                   起,整体伸缩/平移

                          #width_ratios = [3,1],height_ratios = [3,1] #设置坐标系的相对宽度/高度
                           )

#4、根据给定的“区域规划图”,创建对应的坐标系实例

f2_ax1 =fig2.add_subplot(spec2[0,0])    #二维数组的切片操作
f2_ax2 =fig2.add_subplot(spec2[0,1])    #二维数组的索引操作
f2_ax3 =fig2.add_subplot(spec2[1,0])
f2_ax4 =fig2.add_subplot(spec2[1,1])

plt.show()

 

 #调整坐标系之间的纵向/横向距离,此时每个子图会被拉伸或收缩以此增减之间的距离。

 

hspace=1, wspace=0.5  #调整坐标系之间的纵向/横向距离

#把所有坐标系实例打包在一起,整体伸缩/平移 

 

left=0.2,right=0.8,bottom=0.25,top=0.5 #把所有坐标系实例打包在一起,整体伸缩/平移 

 

#设置坐标系的相对宽度/高度 

 width_ratios = [3,1],height_ratios = [3,1] #每个坐标系的 宽度/高度 = 设定值/sum(设定值)

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不爱吃“松鼠”的坚果

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

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

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

打赏作者

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

抵扣说明:

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

余额充值