matplotlib.pyplot.subplot #
- matplotlib.pyplot。subplot ( * args , ** kwargs ) [来源] #
将轴添加到当前图窗或检索现有轴。
这是一个包装器,
Figure.add_subplot
它在使用隐式 API 时提供额外的行为(请参阅注释部分)。来电签名:
subplot(nrows, ncols, index, **kwargs) subplot(pos, **kwargs) subplot(**kwargs) subplot(ax)
- 参数:
- *args int, (int, int, index ), or
SubplotSpec
, 默认: (1, 1, 1) 由其中之一描述的子图的位置
三个整数(nrows,ncols,index)。子图将 在具有nrows行和ncols列 的网格上获取索引位置。索引从左上角的 1 开始,向右增加。index也可以是一个二元组,指定子图的 ( first , last ) 索引(从 1 开始,并包括last),例如, 创建一个跨越图上 2/3 的子图。
fig.add_subplot(3, 1, (1, 2))
一个 3 位整数。这些数字被解释为好像分别作为三个个位数整数给出,即
fig.add_subplot(235)
与 相同。请注意,这只能在不超过 9 个子图的情况下使用。fig.add_subplot(2, 3, 5)
一个
SubplotSpec
。
- 投影{无,'aitoff','hammer','lambert','mollweide','polar','rectilinear',str},可选
子图的投影类型 (
Axes
)。str是自定义投影的名称,请参阅projections
. 默认无导致“直线”投影。- 极地布尔,默认值:False
如果为 True,则相当于 projection='polar'。
- sharex,sharey
Axes
,可选 axis
与 sharex 和/或 sharey共享 x 或 y 。该轴将具有与共享轴的轴相同的限制、刻度和比例。- 标签str
返回轴的标签。
- *args int, (int, int, index ), or
- 返回:
axes.SubplotBase
,或另一个子类Axes
子图的轴。返回的坐标区基类取决于使用的投影。是
Axes
使用直线投影还是使用projections.polar.PolarAxes
极坐标投影。然后返回的轴是基类的子图子类。
- 其他参数:
- **kwargs
此方法还采用返回轴基类的关键字参数;除了数字参数。
Axes
可以在下表中找到直线基类的关键字参数,但如果使用另一个投影,则可能还有其他关键字参数。财产
描述
{'box', 'datalim'}
一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量
标量或无
(float, float) 或 {'C', 'SW', 'S', 'SE', 'E', 'NE', ...}
布尔
{'auto', 'equal'} 或浮动
布尔
未知
未知
可调用[[轴,渲染器],Bbox]
布尔或“线”
浮动或无
布尔
补丁或(路径,变换)或无
facecolor
或 fc颜色
布尔
字符串
布尔
目的
布尔
布尔
未知
None 或 bool 或 float 或可调用
[左、下、宽、高] 或
Bbox
未知
浮动或无
布尔
(比例:浮动,长度:浮动,随机性:浮动)
布尔或无
字符串
字符串
布尔
未知
字符串
(底部:浮动,顶部:浮动)
浮动大于 -0.5
未知
未知
未知
未知
字符串
(底部:浮动,顶部:浮动)
浮动大于 -0.5
未知
未知
未知
漂浮
笔记
创建一个新的 Axes 将删除与它重叠的任何预先存在的 Axes,而不是共享一个边界:
import matplotlib.pyplot as plt # plot a line, implicitly creating a subplot(111) plt.plot([1, 2, 3]) # now create a subplot which represents the top plot of a grid # with 2 rows and 1 column. Since this subplot will overlap the # first, the plot (and its axes) previously created, will be removed plt.subplot(211)
如果您不想要这种行为,请改用
Figure.add_subplot
方法或pyplot.axes
函数。如果没有传递任何kwargs并且在args指定的位置存在 Axes,则将返回该 Axes 而不是创建新的 Axes。
如果传递了kwargs ,并且在args指定的位置存在 Axes ,则投影类型相同,并且 kwargs与现有 Axes 匹配,则返回现有 Axes。否则,将使用指定的参数创建一个新轴。我们保存了对用于此比较的kwargs的引用。如果kwargs中的任何值是可变的,我们将不会检测到它们发生突变的情况。在这些情况下,我们建议使用
Figure.add_subplot
显式 Axes API 而不是隐式 pyplot API。例子
plt.subplot(221) # equivalent but more general ax1 = plt.subplot(2, 2, 1) # add a subplot with no frame ax2 = plt.subplot(222, frameon=False) # add a polar subplot plt.subplot(223, projection='polar') # add a red subplot that shares the x-axis with ax1 plt.subplot(224, sharex=ax1, facecolor='red') # delete ax2 from the figure plt.delaxes(ax2) # add ax2 to the figure again plt.subplot(ax2) # make the first axes "current" again plt.subplot(221)