python中fig,ax=plt.subplots什么意思
python中fig,ax=plt.subplots是python一种subplot可以画出很多子图的图片的方法。
1、载入要用的工具包,代码输入import matplotlib.pyplot as plt,from skimage import data,color。
2、接着生成原始数据与图片,定义图片内容的代码:
img = data.coffee()
hsv = color.rgb2hsv(img)
fig, axes = plt.subplots(2, 2, figsize=(7, 6))
ax0, ax1, ax2, ax3 = axes.ravel()
3、依次排列输入代码:
ax0.imshow(img)
ax1.imshow(hsv[:, :, 0], cmap=plt.cm.gray)
ax2.imshow(hsv[:, :, 1], cmap=plt.cm.gray)
ax3.imshow(hsv[:, :, 2], cmap=plt.cm.gray)
fig.tight_layout()
4、同样,需要采用以下指令显示图片,输入代码为plt.show()。
5、最后,就可以看到呈现的效果图,就是一种subplot可以画出很多子图的图片的方法,这样就可以解决问题了。
fig,ax=plt.subplots的意思是将plt.subplots()函数的返回值赋值给fig和ax两个变量。
plt.subplots()是一个函数,返回一个包含figure和axes对象的元组,因此,使用fig,ax=plt.subplots()将元组分解为fig和ax两个变量。
通常,我们只用到ax:
fig,ax = plt.subplots(nrows=2, ncols=2)
axes = ax.flatten()
把父图分成2*2个子图,ax.flatten()把子图展开赋值给axes,axes[0]便是第一个子图,axes[1]是第二个。
扩展资料
在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个Axes对象。每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。所属关系如下:
def subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True,
subplot_kw=None, gridspec_kw=None, **fig_kw):
参数:
nrows,ncols:子图的行列数。
sharex, sharey:
设置为 True 或者 ‘all’ 时,所有子图共享 x 轴或者 y 轴,
设置为 False or ‘none’ 时,所有子图的 x,y 轴均为独立,
设置为 ‘row’ 时,每一行的子图会共享 x 或者 y 轴,
设置为 ‘col’ 时,每一列的子图会共享 x 或者 y 轴。
返回值
fig: matplotlib.figure.Figure 对象
ax:子图对象( matplotlib.axes.Axes)或者是他的数组
接下来看ax=axes[0] 说白了axes就是灵活的子图,你想让子图显示的位置。例如ax=axes[0],就是你这个子图形所在的位置(索引),你把参数设置成0,它就是全部子图当中索引为0的子图,就是第一行第一个图形。索引的下标从0开始,所以是第一个子图。当你把参数设置成2的时候,索引位置为2,就是最后一个子图。如果你设置成3,那么超出索引长度,就会报错。
python中机器学习或者代码不懂的可以问我。欢迎交流,我也是学生。
在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个Axes对象。每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域。
fig, ax = plt.subplots(2,2),其中参数分别代表子图的行数和列数,一共有 2x2 个图像。函数返回一个figure图像和一个子图ax的array列表。
给你个链接:网页链接