matplotlib 向任意位置添加一个子图(axes)

 更新时间:2021年04月27日 09:17:52   作者:mighty13  
这篇文章主要介绍了matplotlib 向任意位置添加一个子图(axes),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

当前有效matplotlib版本为:3.4.1

概述

axes()函数功能与subplot()函数极其相似。都是向当前图像(figure)添加一个子图(Axes),并将该子图设为当前子图或者将某子图设为当前子图。两者的区别在于subplot()函数通过参数确定在子图网格中的位置,而axes()函数在添加子图位置时根据4个坐标确定位置。

函数的定义签名为:matplotlib.pyplot.axes(arg=None, **kwargs)

函数的调用签名为:

# 在当前图像中添加一个铺满的子图
plt.axes()
# 根据rect位置添加一个子图
plt.axes(rect, projection=None, polar=False, **kwargs)
# 将ax设置为当前子图
plt.axes(ax)

函数的参数为:

  • arg : 取值为 None或四元组rect
    • None:使用subplot(**kwargs)添加一个新的铺满窗口的子图。
    • 四元组rectrect = [left, bottom, width, height],使用 ~.Figure.add_axes根据rect添加一个新的子图。
  • rect的取值为以左下角为绘制基准点,确定高度和宽度。rect的4个元素均应在[0,1]之间(即以图像比例为单位)。
  • projection: 控制子图的投影方式。{None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str},默认值为None ,即'rectilinear'
  • polar:相当于设置projection='polar'。可选参数。布尔值,默认值为True
  • sharex, sharey:用于设置共享x/y轴。可选参数。Axes对象。默认值为None
  • lables:返回的子图对象的标签。可选参数。字符串。
  • **kwargs:用于向创建子图网格时用到的 ~matplotlib.gridspec.GridSpec类的构造函数传递关键字参数。可选参数。字典。

函数的返回值为:
.axes.SubplotBase实例,或其他~.axes.Axes的子类实例。

函数原理

axes函数其实是Figure.add_subplotFigure.add_axes方法的封装。源码为:

def axes(arg=None, **kwargs):
    fig = gcf()
    if arg is None:
        return fig.add_subplot(**kwargs)
    else:
        return fig.add_axes(arg, **kwargs)

案例:使用axes函数添加子图

根据输出可知,axes添加的子图是可以重叠的

在这里插入图片描述

案例:混合应用subplot、subplots、subplot2grid、axes函数

在这里插入图片描述

import matplotlib.pyplot as plt

# 添加3行3列子图9个子图
fig, axes = plt.subplots(3, 3)
# 为第1个子图绘制图形
axes[0, 0].bar(range(1, 4), range(1, 4))
# 使用subplot函数为第5个子图绘制图形
plt.subplot(335)
plt.plot(1,'o')
# 使用subplot2grid函数将第三行子图合并为1个
plt.subplot2grid((3,3),(2,0),colspan=3)
# 在图像0.5,0.5位置添加一个0.1宽0.1长的背景色为黑色的子图
plt.axes((0.5,0.5,0.1,0.1),facecolor='k')
plt.show()

axes函数与subplotsubplotssubplot2grid函数的对比

相同之处:
axes函数与subplotsubplot2grid函数都是添加一个子图。

不同之处:
axes函数可在图像中的任意位置添加子图。subplotsubplotssubplot2grid函数只能根据固定的子图网格位置添加子图。
axes函数创建的子图可重叠。subplotsubplotssubplot2grid函数创建的子图如果位置重叠,会覆盖掉原有的子图(删除原有子图)。

到此这篇关于matplotlib 向任意位置添加一个子图(axes)的文章就介绍到这了,更多相关matplotlib任意位置添加子图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中使用绝佳的八个Debug 工具

    Python中使用绝佳的八个Debug 工具

    在Python开发中,调试是解决问题和提高代码质量的关键,有许多强大的调试工具可帮助开发者更快速地发现和解决问题,本文将介绍8个出色的Python调试工具,并提供详细的示例代码,让你更好地了解它们的用法和优势
    2024-01-01
  • python使用tensorflow保存、加载和使用模型的方法

    python使用tensorflow保存、加载和使用模型的方法

    本篇文章主要介绍了python使用tensorflow保存、加载和使用模型的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 将Dataframe数据转化为ndarry数据的方法

    将Dataframe数据转化为ndarry数据的方法

    今天小编就为大家分享一篇将Dataframe数据转化为ndarry数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 使用Python和Scribus创建一个RGB立方体的方法

    使用Python和Scribus创建一个RGB立方体的方法

    这篇文章主要介绍了使用Python和Scribus创建一个RGB立方体的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python+pytorch实现天气识别

    Python+pytorch实现天气识别

    这篇文章主要为大家详细介绍了如何利用Python+pytorch实现天气识别功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2022-10-10
  • python的pdb调试命令的命令整理及实例

    python的pdb调试命令的命令整理及实例

    这篇文章主要介绍了python的pdb调试命令的命令整理及实例的相关资料,需要的朋友可以参考下
    2017-07-07
  • 一步步解析Python斗牛游戏的概率

    一步步解析Python斗牛游戏的概率

    这篇文章主要带着大家一步步解析Python斗牛游戏的概率,计算出斗牛游戏的概率,感兴趣的朋友可以参考一下
    2016-02-02
  • Python tkinter事件高级用法实例

    Python tkinter事件高级用法实例

    这篇文章主要介绍了Python tkinter事件高级用法,结合实例形式分析了Python使用tkinter模块的事件响应及图形绘制相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • Python语言的面相对象编程方式初步学习

    Python语言的面相对象编程方式初步学习

    这篇文章主要介绍Python语言的面相对象编程方式的初步学习,包括类和对象以及继承特性等知识,需要的朋友可以参考下
    2016-03-03
  • Python3 JSON 数据解析及日期和时间小结

    Python3 JSON 数据解析及日期和时间小结

    这篇文章主要介绍了Python3 JSON 数据解析及日期和时间,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02

最新评论