gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章matplotlib 向任意位置添加一个子图(axes)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

当前有效matplotlib版本为:3.4.1.

概述

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

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

函数的调用签名为:

?
1
2
3
4
5
6
# 在当前图像中添加一个铺满的子图
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_subplot和Figure.add_axes方法的封装。源码为:

?
1
2
3
4
5
6
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添加的子图是可以重叠的.

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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函数与subplot、subplots、subplot2grid函数的对比 。

相同之处: axes函数与subplot、subplot2grid函数都是添加一个子图.

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

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

原文链接:https://blog.csdn.net/mighty13/article/details/116141716 。

最后此篇关于matplotlib 向任意位置添加一个子图(axes)的文章就讲到这里了,如果你想了解更多关于matplotlib 向任意位置添加一个子图(axes)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com