当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python matplotlib subplot用法及代码示例


本文简要介绍 python 语言中 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 ), 或 SubplotSpec , 默认: (1, 1, 1)

由其中之一说明的子图的位置

  • 三个整数(nrowsncolsindex)。子图将在具有nrows 行和ncols 列的网格上占据index 位置。 index 从左上角的 1 开始,向右递增。 index 也可以是一个二元组,指定子图的(firstlast)索引(从 1 开始,包括 last),例如,fig.add_subplot(3, 1, (1, 2)) 生成一个跨越上 2 的子图/3 图。

  • 一个 3 位整数。这些数字被解释为好像分别作为三个 single-digit 整数给出,即 fig.add_subplot(235)fig.add_subplot(2, 3, 5) 相同。请注意,这只能在不超过 9 个子图的情况下使用。

  • 一个 SubplotSpec

projection {无,'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear',str},可选

子图的投影类型 ( Axes )。 str 是自定义投影的名称,请参阅 projections 。默认无导致 'rectilinear' 投影。

polar 布尔值,默认值:假

如果为真,则相当于投影='polar'。

sharex, sharey Axes ,可选

与 sharex 和/或 sharey 共享 x 或 y axis 。该轴将具有与共享轴的轴相同的限制、刻度和比例。

label str

返回轴的标签。

返回
Axes

子图的轴。返回的 Axes 实际上可以是子类的实例,例如极坐标投影的 projections.polar.PolarAxes

其他参数
**kwargs

此方法还采用返回轴基类的关键字参数;除了 figure 参数。直线基类 Axes 的关键字参数可以在下表中找到,但如果使用另一个投影,也可能存在其他关键字参数。

属性

说明

adjustable

{'box', 'datalim'}

agg_filter

一个过滤器函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组和距图像左下角的两个偏移量

alpha

标量或无

anchor

(浮点数、浮点数)或 {'C'、'SW'、'S'、'SE'、'E'、'NE'、...}

animated

bool

aspect

{'auto', 'equal'} 或浮点数

autoscale_on

bool

autoscalex_on

unknown

autoscaley_on

unknown

axes_locator

可调用[[轴,渲染器],Bbox]

axisbelow

布尔或'line'

box_aspect

浮点数或无

clip_box

BboxBase 或无

clip_on

bool

clip_path

补丁或(路径,变换)或无

facecolor 或 fc

color

figure

Figure

frame_on

bool

gid

str

in_layout

bool

label

object

mouseover

bool

navigate

bool

navigate_mode

unknown

path_effects

AbstractPathEffect 列表

picker

None 或 bool 或 float 或可调用

position

[左、下、宽、高]或 Bbox

matplotlib.axes.Axes.set_prop_cycle

Cycler

rasterization_zorder

浮点数或无

rasterized

bool

sketch_params

(比例:浮点数,长度:浮点数,随机性:浮点数)

snap

布尔或无

subplotspec

unknown

title

str

transform

Transform

url

str

visible

bool

xbound

(下:浮点数,上:浮点数)

xlabel

str

matplotlib.axes.Axes.set_xlim

(左:浮点数,右:浮点数)

xmargin

浮点数大于 -0.5

xscale

unknown

xticklabels

unknown

xticks

unknown

ybound

(下:浮点数,上:浮点数)

ylabel

str

matplotlib.axes.Axes.set_ylim

(底部:浮点数,顶部:浮点数)

ymargin

浮点数大于 -0.5

yscale

unknown

yticklabels

unknown

yticks

unknown

zorder

float

注意

创建新的轴将删除与其共享边界之外的任何先前存在的轴:

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 指定的位置存在轴,则将返回该轴,而不是创建新的轴。

如果通过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)

相关用法


注:本文由纯净天空筛选整理自skytowner.com大神的英文原创作品 matplotlib.pyplot.subplot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。