• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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)

    函数的参数为:

    函数的返回值为:
    .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任意位置添加子图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • matplotlib之pyplot模块实现添加子图subplot的使用
    • matplotlib给子图添加图例的方法
    上一篇:Python基础之time库详解
    下一篇:Python接单的过程记录分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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