布局 - 简单布局
简单布局通过 Figure.add_subplot(*args,**kwargs)
方法来完成,它返回的是 Axes
实例。当然你也可以通过 pyplot.subplot(*args,**kwargs)
函数来完成,他返回的也是 Axes
实例,该函数只是一个便利函数。
SubPlot
类是 Axes
类的子类。因此 SubPlot
对象也是 Axes
对象。
a. 典型用法
最典型用法是 matplotlib.pyplot.subplot(nrows,ncols,plot_number)
。 nrows
和 ncols
将图表划分成 nrows*ncols
大小的网格区域,每一个区域都能存放一个 SubPlot
;该函数创建 plot_number
位置处的 SubPlot-axes
。其中 plot_number
起始于 1,最大值为 nrows*ncols
。
如果 nrows
、 ncols
、 plot_number
都是个位数,则你可以指定一个三位数来简化函数调用 matplotlib.pyplot.subplot(integer)
,其中百分位代表 nrows
,十分位代表 ncols
,各位代表 plot_number
。
b. 参数
axisbg
关键字参数:指定subplot
的背景色polar
关键字参数:指定subplot
是否是极坐标。默认为False
projection
:sharex
关键字参数:指定subplot
与其他Axes
(由该参数值指定)共享xaxis attribute
sharey
关键字参数:指定subplot
是否与其他Axes
(由该参数值指定)共享yaxis attribute
c. pyplot.subplots() 函数
你可以通过 pyplot.subplots()
函数一次性的创建多个 SubPlot
。
pyplot.subplot()
每次只会创建一个 SubPlot
。
其参数有:
nrows
:行数,默认为 1ncols
:列数,默认为 1sharex
:- 如果为
True
,则所有SubPlot
的X axis
被共享。此时只有最后一行的X
轴可见。 - 如果为
False
,则SubPlot
的X axis
不共享,每一个SbuPlot
的X
轴可见。 - 如果为字符串
all
,则等效于True
- 如果为字符串
none
,则当小于False
- 如果为字符串
row
,则每一行的SubPlot
共享一个X
轴(与False
等效) - 如果为字符串
col
,则每一列的SubPlot
共享一个X
轴(与True
等效)
sharey
:- 如果为
True
,则所有SubPlot
的Y axis
被共享。此时只有第一列的Y
轴可见。 - 如果为
False
,则SubPlot
的Y axis
不共享,每一个SbuPlot
的Y
轴可见。 - 如果为字符串
all
,则等效于True
- 如果为字符串
none
,则当小于False
- 如果为字符串
row
,则每一行的SubPlot
共享一个Y
轴(与True
等效) - 如果为字符串
col
,则每一列的SubPlot
共享一个Y
轴(与False
等效)
- 如果为
squeeze
:- 如果为
True
:- 如果只创建了一个
SubPlot
,则返回一个变量(创建的 SubPlot 对象) - 如果创建了
N*1
或者1*N
个SubPlot
,则返回一个 1 维向量 - 如果创建了
N*M
个SubPlot
(其中N>1
,M>1
),则返回一个 2 维向量
- 如果只创建了一个
- 如果为
False
则始终返回一个 2 维向量
- 如果为
subplot_kw
:一个字典参数,用于传递给Axes.add_subplot()
来创建SubPlot
gridspec_kw
:一个字典参数,用于传递给GridSpec
构造函数来创建SubPlot
存放的网格fig_kw
:一个字典参数,用于传递给pyplot.figure()
函数。所有前述未能识别的感激案子参数都会传到这里。
其返回值为 figure,ax
。其中 figure
是一个 Figure
对象; ax
取决于 squeeze
参数。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论