subplotpython
⑴ 【python进阶篇】Axe和Subplot的用法|Matplotlib|图解+代码实例
在深入Python绘图技术时,Axe和Subplot的用法是Matplotlib进阶的重要环节。它们之间的区别在绘图实践中可能会让人感到困惑,但通过直观的比喻和实例,我们可以理解它们的角色和关系。
首先,想象Figure就像一个画布,是绘图的基础,通过plt.figure()创建。在画布上,Subplot和Axes就像桌面上的图标,Subplot是自动对齐到网格的,类似于预定义布局,而Axes则是更底层的,可以自由摆放,包括Subplot在内。Axis负责坐标轴的设置,每个子图都有一对或一对以上的轴。
运行代码,如果没有明确添加子图,只得到一个空画布。而通过plt.subplots(),你可以创建子图并获取Figure和Axes对象,如axes_lst。通过索引,如ax_lst[0,0]和ax_lst[1,1],可以分别对应左上角和右下角的子图,实现精确控制。
Axe的使用更像手动挡汽车,给予更多绘图自由度,适合专业用户,例如绘制嵌套图或精确控制子图位置。例如,通过fig.add_axes(),你可以根据需要精确设置子图的大小和位置,甚至实现图形重叠。
总的来说,Subplot和Axes是Matplotlib中用于构建复杂图形的两种工具,理解它们的区别和用法,可以帮助你更高效地创建出丰富的可视化图表。
⑵ python中fig,ax=plt.subplots什么意思
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]是第二个。
(2)subplotpython扩展阅读
在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)或者是他的数组