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 的条目都会强制设置相应槽口的位置(仅当 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 重命名,该参数自 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

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

备注

注意

这是 pyplot 包装器,用于 axes.Axes.boxplot

使用 matplotlib.pyplot.boxplot 的示例#

箱线图中艺术家的自定义

箱线图中艺术家的自定义

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

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

箱线图

箱线图

箱线图与小提琴图比较

箱线图与小提琴图比较