matplotlib.axes.Axes.boxplot#

Axes.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., and Larsen, W.A., 1978, 和 Kendall and Stuart, 1967)。否则, bootstrap 指定引导中位数的次数以确定其 95% 置信区间。建议值在 1000 到 10000 之间。

usermedians1D 数组式,可选

一个长度为 len(x) 的 1D 数组式对象。每个不为 None 的条目都会强制设置对应数据集的中位数。对于为 None 的条目,中位数由 Matplotlib 正常计算。

conf_intervals数组式,可选

一个形状为 (len(x), 2) 的 2D 数组式对象。每个不为 None 的条目都会强制设置相应凹口的位置(只有当 notchTrue 时才绘制)。对于为 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 重命名而来,labels 自 3.9 版起已弃用,并将在 3.11 版中移除。

manage_ticks布尔值,默认值: True

如果为 True,刻度位置和标签将调整以匹配箱线图位置。

autorange布尔值,默认值: False

当为 True 且数据分布使得第 25 和第 75 百分位数相等时, whis 设置为 (0, 100),使得触须末端位于数据的最小值和最大值处。

meanline布尔值,默认值: rcParams["boxplot.meanline"] (默认值: False)

如果为 True(且 showmeansTrue),将尝试根据 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,如果 sdata 中的一个键,则将其解释为 data[s]

另请参阅

Axes.bxp

从预计算的统计数据绘制箱线图。

violinplot

绘制概率密度函数的估计。

使用 matplotlib.axes.Axes.boxplot 的示例#

箱线图中艺术家的自定义

箱线图中艺术家的自定义

具有自定义填充颜色的箱线图

具有自定义填充颜色的箱线图

箱线图

箱线图

箱线图与小提琴图比较

箱线图与小提琴图比较

箱线图的单独计算和绘制

箱线图的单独计算和绘制

boxplot(X)

boxplot(X)