这篇文章主要为大家详细介绍了Python之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)
matplotlib 向任意位置添加一个子图(axes)
函数的参数为:
arg
: 取值为 None
或四元组rect
。
None
:使用subplot(**kwargs)
添加一个新的铺满窗口的子图。rect
:rect = [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
方法的封装。源码为:
代码如下:
def axes(arg=None, **kwargs):
fig = gcf()
if arg is None:
return fig.add_subplot(**kwargs)
else:
return fig.add_axes(arg, **kwargs)
matplotlib 向任意位置添加一个子图(axes)
根据输出可知,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()
matplotlib 向任意位置添加一个子图(axes)
axes
函数与subplot
、subplots
、subplot2grid
函数的对比
相同之处:axes
函数与subplot
、subplot2grid
函数都是添加一个子图。
不同之处:axes
函数可在图像中的任意位置添加子图。subplot
、subplots
、subplot2grid
函数只能根据固定的子图网格位置添加子图。axes
函数创建的子图可重叠。subplot
、subplots
、subplot2grid
函数创建的子图如果位置重叠,会覆盖掉原有的子图(删除原有子图)。
到此这篇关于matplotlib 向任意位置添加一个子图(axes)的文章就介绍到这了,更多相关matplotlib任意位置添加子图内容请搜索四海网以前的文章或继续浏览下面的相关文章希望大家以后多多支持四海网!
本文来自:http://www.q1010.com/181/19051-0.html
注:关于Python之matplotlib 向任意位置添加一个子图(axes)的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:python
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。