Python matplotlib设置多子图、子图间距及外边距的几种方式

 更新时间:2024年02月20日 11:48:11   作者:正在学习中的李斌  
子图是Matplotlib中强大的功能之一,使用函数您可以方便地创建多个子图,并使用Axes对象绘制各种图形,下面这篇文章主要给大家介绍了关于Python matplotlib设置多子图、子图间距及外边距的几种方式,需要的朋友可以参考下

Python matplotlib

设置多子图

设置多子图纵向间距

设置多子图横向间距

设置外边距

1. 方式一。设置一个 2*2 的相同尺寸子图,统一添加。

  • 可选参数:sharex=True,sharey=False 共享X轴,不共享Y轴。
  • 可选参数:facecolor 背景填充色。
  • figsize 图片的大小。
import matplotlib.pyplot as plt

fig,axes = plt.subplots(2,2,figsize=(6,6),dpi=100,facecolor="w",sharex=True,sharey=False)

# 遍历所有子图
for i,ax in enumerate(axes.flatten()):
    ax.text(0.5, 0.5, i, fontdict={'fontsize':20,})
    
# 对单一子图进行操作    
axes[0,0].set_title('0,0 title')

2. 方式二。设置一个 2*2 子图,单独添加尺寸相同的子图。

  • add_subplot 先创建 fig 再单独添加子图。
import matplotlib.pyplot as plt

fig = plt.figure(figsize=(6,6),dpi=100,facecolor="w")

ax1 = fig.add_subplot(2,2,1)
ax4 = fig.add_subplot(2,2,4)

ax1.text(0.3, 0.5, '2,2,1', fontdict={'fontsize':20,})
ax4.set_title('2,2,4 title')  

3. 方式三。单独设置尺寸不太的子图。

subplot2grid 单独设置子图所占的行列比例。

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(8,8),dpi=100,facecolor="w")

# 3*3 的网格;(0,0)位置开始,跨度为 1 行 1 列
ax1 = plt.subplot2grid((3,3),(0,0),colspan=1,rowspan=1)
# 3*3 的网格;(1,0)位置开始,跨度为 1 行 2 列
ax2 = plt.subplot2grid((3,3),(1,0),colspan=2,rowspan=1)
# 3*3 的网格;(1,2)位置开始,跨度为 2 行 1 列
ax3 = plt.subplot2grid((3,3),(1,2),colspan=1,rowspan=2)

ax1.text(0.1, 0.5, '(0,0) rows 1, cols 1', fontdict={'fontsize':12,})
ax2.text(0.3, 0.5, '(1,0) rows 1, cols 2', fontdict={'fontsize':12,})
ax3.text(0.1, 0.5, '(1,2) rows 2, cols 1', fontdict={'fontsize':12,})

4. 子图间距调整、子图边距调整

  • subplots_adjust 调整间距。
  • 参数 left=0,right=1,top=1,bottom=0, 分别控制 上下左右 的位置。(整体边距)
  • 参数 wspace=0.4,hspace=0.1 分别控制横向和纵向的子图间距。(子图间距)
import matplotlib.pyplot as plt

fig,axes = plt.subplots(2,2,figsize=(8,6),dpi=100,facecolor="#00CC67")

# 遍历所有子图
for i,ax in enumerate(axes.flatten()):
    ax.text(0.5, 0.5, i, fontdict={'fontsize':20,})

# left 控制左边位置;wspace,hspace 控制子图间距
fig.subplots_adjust(left=0,right=1,top=1,bottom=0,
                    wspace=0.4,hspace=0.1)

总结 

到此这篇关于Python matplotlib设置多子图、子图间距及外边距的几种方式的文章就介绍到这了,更多相关matplotlib设置多子图、子图间距、外边距内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现绘制多种激活函数曲线详解

    Python实现绘制多种激活函数曲线详解

    所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。这篇文章主要介绍了Python如何实现绘制多种激活函数曲线,希望对大家有所帮助
    2023-04-04
  • Python绘图库Pyecharts可视化效果示例详解

    Python绘图库Pyecharts可视化效果示例详解

    本文将带您从零开始,逐步掌握使用Pyecharts库进行数据可视化的技能,Pyecharts是一个基于Echarts的Python可视化库,能够轻松创建各种交互式图表和地图,无论您是数据分析新手还是有经验的开发者,都能帮助您深入了解Pyecharts的使用
    2023-08-08
  • python中使用zip函数出现<zip object at 0x02A9E418>错误的原因

    python中使用zip函数出现<zip object at 0x02A9E418>错误的原因

    这篇文章主要介绍了python中使用zip函数出现<zip object at 0x02A9E418>错误的原因分析及解决方法,需要的朋友可以参考下
    2018-09-09
  • 用Python Flask创建简洁高效的URL短链接服务

    用Python Flask创建简洁高效的URL短链接服务

    本文介绍了如何使用Python Flask框架创建URL短链接服务。通过详细的步骤和代码示例,读者将学会如何搭建一个高效的URL缩短服务,包括生成短链接、重定向、还原长链接等功能。本文还介绍了如何使用Redis数据库实现短链接的存储和管理和如何优化短链接的访问速度和可靠性
    2023-04-04
  • 详解Python中where()函数的用法

    详解Python中where()函数的用法

    本篇文章主要介绍了详解Python中where()函数的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 如何在pycharm安装torch包

    如何在pycharm安装torch包

    这篇文章主要介绍了如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 浅谈Python3 numpy.ptp()最大值与最小值的差

    浅谈Python3 numpy.ptp()最大值与最小值的差

    今天小编就为大家分享一篇浅谈Python3 numpy.ptp()最大值与最小值的差,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python气泡提示与标签的实现

    Python气泡提示与标签的实现

    这篇文章主要介绍了Python气泡提示与标签的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python爬取网站图片并保存的实现示例

    Python爬取网站图片并保存的实现示例

    这篇文章主要介绍了Python爬取网站图片并保存的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Pandas时间数据处理详细教程

    Pandas时间数据处理详细教程

    日常工作中日期格式有多种表达形式,比如年份开头或是月份开头2022/6/4、6/4/2022等,通过pandas的日期数据处理,这篇文章主要给大家介绍了关于Pandas时间数据处理的相关资料,需要的朋友可以参考下
    2023-01-01

最新评论