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)[源代码][源代码]#

绘制一个箱线图。

箱子从数据的第一四分位数(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 : bool, 默认值: rcParams["boxplot.notch"] (default: False)bool, 默认值:

是否绘制缺口箱线图(True),或矩形箱线图(False)。缺口表示中位数的置信区间(CI)。bootstrap 的文档描述了默认情况下如何计算缺口的位置,但也可以通过设置 conf_intervals 参数来覆盖它们的位置。

备注

在CI值小于下四分位数或大于上四分位数的情况下,缺口将延伸到箱子外部,使其呈现出独特的“翻转”外观。这是预期的行为,并且与其他统计可视化包一致。

symstr, 可选

默认的离群点符号。空字符串 ('') 会隐藏离群点。如果为 None,则离群点默认为 'b+'。通过 flierprops 参数可以提供更多控制。

vertbool, 可选

自 3.10 版本弃用: 使用 orientation 代替。

如果在弃用期间给出此参数,它将覆盖 orientation 参数。

如果为 True,则垂直绘制框。如果为 False,则水平绘制框。

方向{'垂直', '水平'}, 默认: '垂直'

如果为 'horizontal',则水平绘制盒子。否则,垂直绘制盒子。

Added in version 3.10.

whisfloat 或 (float, float),默认值: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)(覆盖整个数据范围)。

在须之外的数据被认为是异常值,并以单个点的形式绘制。

引导程序int, 可选

指定是否在有缺口的箱线图中围绕中位数进行置信区间的引导。如果 bootstrap 为 None,则不进行引导,缺口使用基于高斯渐近近似的方法计算(参见 McGill, R., Tukey, J.W., and Larsen, W.A., 1978, 以及 Kendall and Stuart, 1967)。否则,bootstrap 指定引导中位数以确定其 95% 置信区间的次数。建议值在 1000 到 10000 之间。

usermedians一维数组类,可选

一个长度为 len(x) 的一维类数组。每个非 None 的条目会强制设定相应数据集的中位数值。对于 None 的条目,中位数将由 Matplotlib 正常计算。

置信区间类数组, 可选

一个形状为 (len(x), 2) 的二维类数组。每个非 None 的条目会强制指定相应凹口的位置(仅当 notchTrue 时才会绘制)。对于值为 None 的条目,凹口将根据其他参数(例如 bootstrap)指定的方法计算。

职位类数组, 可选

盒子的位置。刻度和限制会自动设置以匹配这些位置。默认为 range(1, N+1) ,其中 N 是要绘制的盒子数量。

宽度浮点数或类似数组

盒子的宽度。默认值为 0.5,或者如果较小的话,则为 0.15*(极端位置之间的距离)

patch_artist : bool, 默认值: rcParams["boxplot.patchartist"] (default: False)bool, 默认值:

如果 False 生成带有 Line2D 艺术家的框。否则,使用 Patch 艺术家绘制框。

tick_labelslist of str, 可选

每个箱线图的刻度标签。刻度总是放置在箱线图的 位置 上。如果给出了 tick_labels ,刻度将相应地标记。否则,它们保持其数值。

在 3.9 版本发生变更: labels 重命名为 labels,自 3.9 版本起已弃用,并将在 3.11 版本中移除。

管理刻度bool, 默认: True

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

autorangebool, 默认值: False

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

meanline : bool, 默认值: rcParams["boxplot.meanline"] (default: False)bool, 默认值:

如果 True`(并且 *showmeans* `True),将尝试根据 meanprops*(见下文)将平均值渲染为一条横跨整个箱子宽度的线。如果 *shownotches 也为 True,则不推荐此操作。否则,平均值将以点的形式显示。

zorder : float, 默认值: Line2D.zorder = 2浮点数, 默认:

箱线图的zorder。

返回:
dict

一个字典,将箱线图的每个组成部分映射到创建的 Line2D 实例列表。该字典具有以下键(假设为垂直箱线图):

  • boxes: 箱线图的主体部分,显示四分位数和如果启用了中位数的置信区间。

  • medians: 每个箱子中位数处的水平线。

  • whiskers: 延伸至最极端非异常值数据点的垂直线。

  • caps: 胡须末端的水平线。

  • fliers: 表示数据延伸超出须(fliers)的点。

  • means: 表示均值的点或线。

其他参数:
showcaps : bool, 默认值: rcParams["boxplot.showcaps"] (default: True)bool, 默认值:

显示胡须末端的帽状物。

showbox : bool, 默认值: rcParams["boxplot.showbox"] (default: True)bool, 默认值:

显示中央的方框。

showfliers : bool, 默认值: rcParams["boxplot.showfliers"] (default: True)bool, 默认值:

显示超出上限的异常值。

showmeans : bool, 默认值: rcParams["boxplot.showmeans"] (default: False)bool, 默认值:

显示算术平均值。

cappropsdict, 默认值: None

帽子的风格。

capwidths浮点数或数组,默认值:None

帽子的宽度。

boxpropsdict, 默认值: None

盒子的样式。

whiskerpropsdict, 默认值: None

胡须的样式。

flierpropsdict, 默认值: None

传单的风格。

medianpropsdict, 默认值: None

中位数的风格。

meanpropsdict, 默认值: None

平均值的风格。

标签str 或 str 列表,可选

图例标签。当所有方框具有相同的样式并且您只想为它们创建一个图例条目时,请使用单个字符串。使用字符串列表来单独标记所有方框。为了能够区分,方框应单独设置样式,目前只能通过修改返回的艺术家来实现,例如参见 箱线图

在单个字符串的情况下,图例条目在技术上只会与第一个箱线图相关联。默认情况下,图例会显示中位数线(result["medians"]);如果 patch_artist 为 True,图例将显示箱线图的 Patch 艺术家(result["boxes"])。

Added in version 3.9.

数据可索引对象,可选

如果给出,所有参数也接受一个字符串 s,如果 sdata 中的一个键,则解释为 data[s]

参见

Axes.bxp

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

violinplot

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

注释

备注

这是 axes.Axes.boxplotpyplot 包装器

使用 matplotlib.pyplot.boxplot 的示例#

箱线图中的艺术家自定义

Artist customization in box plots

带有自定义填充颜色的箱形图

Box plots with custom fill colors

箱线图

Boxplots

箱线图与小提琴图的比较

Box plot vs. violin plot comparison