matplotlib.pyplot.boxplot#
- matplotlib.pyplot.boxplot(x, *, notch=None, sym=None, vert=None, orientation='vertical', whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, usermedians=None, conf_intervals=None, meanline=None, showmeans=None, showcaps=None, showbox=None, showfliers=None, boxprops=None, tick_labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_ticks=True, autorange=False, zorder=None, capwidths=None, label=None, data=None)[source]#
绘制箱线图。
箱体从数据的第一四分位数 (Q1) 延伸到第三四分位数 (Q3),中间有一条线表示中位数。箱须从箱体延伸到距箱体1.5倍四分位距 (IQR) 范围内的最远数据点。离群点是超出箱须末端的数据点。请参阅 https://en.wikipedia.org/wiki/Box_plot 以供参考。
Q1-1.5IQR Q1 median Q3 Q3+1.5IQR |-----:-----| o |--------| : |--------| o o |-----:-----| flier <-----------> fliers IQR
- 参数:
- x数组或向量序列。
输入数据。如果为二维数组,则为 x 中的每列绘制一个箱线图。如果为一维数组序列,则为 x 中的每个数组绘制一个箱线图。
- notch布尔值,默认值:
rcParams["boxplot.notch"]
(默认值:False
) 是否绘制带槽口的箱线图(
True
),或矩形箱线图(False
)。槽口表示中位数周围的置信区间 (CI)。bootstrap 的文档描述了默认情况下槽口位置的计算方式,但其位置也可以通过设置 conf_intervals 参数来覆盖。注意
在CI值小于下四分位数或大于上四分位数的情况下,槽口将延伸超出箱体,使其呈现出独特的“翻转”外观。这是预期行为,并与其他统计可视化软件包保持一致。
- sym字符串,可选
离群点的默认符号。空字符串 ('') 会隐藏离群点。如果为
None
,则离群点默认为 'b+'。flierprops 参数提供了更多控制。- vert布尔值,可选
自 3.11 版本废弃: 请使用orientation代替。
这在 3.10 中是待定废弃,在 3.11 中完全废弃,并在 3.13 中移除。如果在废弃期内提供此参数,它将覆盖orientation参数。
如果为 True,垂直绘制箱体。如果为 False,水平绘制箱体。
- orientation{'vertical', 'horizontal'},默认值: 'vertical'
如果为 'horizontal',则水平绘制箱体。否则,垂直绘制箱体。
自 3.10 版本新增。
- whis浮点数或 (浮点数, 浮点数), 默认值: 1.5
触须的位置。
如果为浮点数,则下箱须位于高于
Q1 - whis*(Q3-Q1)
的最低数据点处,上箱须位于低于Q3 + whis*(Q3-Q1)
的最高数据点处,其中 Q1 和 Q3 分别是第一和第三四分位数。默认值whis = 1.5
对应于 Tukey 对箱线图的原始定义。如果是一对浮点数,它们表示绘制触须的百分位数(例如,(5, 95))。特别是,将其设置为 (0, 100) 会使触须覆盖数据的整个范围。
在
Q1 == Q3
的极端情况下,如果 autorange 为 True,则 whis 会自动设置为 (0, 100)(覆盖数据的整个范围)。超出触须的数据被视为异常值并作为单独的点绘制。
- bootstrap整型, 可选
指定是否对带槽口的箱线图的中位数周围的置信区间进行自举。如果 bootstrap 为 None,则不执行自举,槽口使用基于高斯的渐近近似计算(参见 McGill, R., Tukey, J.W., 和 Larsen, W.A., 1978,以及 Kendall 和 Stuart, 1967)。否则,bootstrap 指定自举中位数的次数,以确定其 95% 置信区间。建议值为 1000 到 10000 之间。
- usermedians一维类数组,可选
一个长度为
len(x)
的一维类数组。每个非None
的条目都会强制设置相应数据集的中位数。对于为None
的条目,中位数由 Matplotlib 正常计算。- conf_intervals类数组,可选
一个形状为
(len(x), 2)
的二维类数组。每个非 None 的条目都会强制设置相应槽口的位置(仅当 notch 为True
时才绘制)。对于为None
的条目,槽口将通过其他参数(例如 bootstrap)指定的方法计算。- positions类数组,可选
箱体的位置。刻度和限制会自动设置为与位置匹配。默认值为
range(1, N+1)
,其中 N 是要绘制的箱体数量。- widths浮点数或类数组
箱体的宽度。默认值为 0.5,如果更小,则为
0.15*(极端位置之间的距离)
。- patch_artist布尔值,默认值:
rcParams["boxplot.patchartist"]
(默认值:False
) 如果为
False
,则使用 Line2D 艺术家生成箱体。否则,箱体将使用 Patch 艺术家绘制。- tick_labels字符串列表,可选
每个箱线图的刻度标签。刻度始终放置在箱体的 positions 处。如果给定 tick_labels,则刻度将相应地标记。否则,它们将保留其数字值。
3.9 版本中更改:从 labels 重命名,该参数自 3.9 起已弃用,并将在 3.11 中移除。
- manage_ticks布尔值,默认值: True
如果为 True,刻度位置和标签将调整以匹配箱线图位置。
- autorange布尔值,默认值:False
当
True
且数据分布使得第 25 和第 75 百分位数相等时,whis 将设置为 (0, 100),使得箱须末端位于数据的最小值和最大值处。- meanline布尔值,默认值:
rcParams["boxplot.meanline"]
(默认值:False
) 如果为
True
(且 showmeans 为True
),将尝试根据 meanprops(见下文)将平均值渲染为贯穿箱体整个宽度的线。如果 shownotches 也为 True,则不建议使用。否则,平均值将显示为点。- zorder浮点数,默认值:
Line2D.zorder = 2
箱线图的 zorder。
- 返回:
- 字典
一个字典,将箱线图的每个组成部分映射到所创建的
Line2D
实例列表。该字典包含以下键(假设为垂直箱线图):boxes
: 箱线图的主体,显示四分位数和中位数的置信区间(如果启用)。medians
: 每个箱体中位数处的水平线。whiskers
: 延伸到最极端、非离群数据点的垂直线。caps
: 箱须末端的水平线。fliers
: 表示超出箱须范围的数据点(离群点)。means
: 表示均值的点或线。
- 其他参数:
- showcaps布尔值,默认值:
rcParams["boxplot.showcaps"]
(默认值:True
) 显示箱须末端的帽子。
- showbox布尔值,默认值:
rcParams["boxplot.showbox"]
(默认值:True
) 显示中心箱体。
- showfliers布尔值,默认值:
rcParams["boxplot.showfliers"]
(默认值:True
) 显示超出帽子的离群点。
- showmeans布尔值,默认值:
rcParams["boxplot.showmeans"]
(默认值:False
) 显示算术平均值。
- capprops字典,默认值:None
帽子的样式。
- capwidths浮点数或数组,默认值:None
帽子的宽度。
- boxprops字典,默认值:None
箱体的样式。
- whiskerprops字典,默认值:None
箱须的样式。
- flierprops字典,默认值:None
离群点的样式。
- medianprops字典,默认值:None
中位数的样式。
- meanprops字典,默认值:None
平均值的样式。
- label字符串或字符串列表,可选
图例标签。当所有箱体具有相同样式且您只需要一个图例条目时,请使用单个字符串。使用字符串列表来单独标记所有箱体。为了区分,箱体应单独设置样式,目前这只能通过修改返回的艺术家来实现,例如参见 箱线图。
在单个字符串的情况下,图例条目在技术上只会与第一个箱体关联。默认情况下,图例将显示中位数线(
result["medians"]
);如果 patch_artist 为 True,图例将显示箱体Patch
艺术家(result["boxes"]
)。自 3.9 版本新增。
- data可索引对象,可选
如果给定,所有参数也接受字符串
s
,如果s
是data
中的键,则将其解释为data[s]
。
- showcaps布尔值,默认值:
另请参阅
Axes.bxp
从预计算的统计数据中绘制箱线图。
violinplot
绘制概率密度函数的估计值。
备注
注意
这是 pyplot 包装器,用于
axes.Axes.boxplot
。