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

绘制一个箱线图。

箱子从数据的第一四分位数(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 参数可以提供更多控制。

垂直bool, 可选

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

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

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

方向{'vertical', 'horizontal'}, 默认: 'vertical'

如果为 '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)(覆盖整个数据范围)。

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

bootstrapint, 可选

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

usermedians1D 数组类,可选

一个长度为 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,自 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 = 2float, 默认值:

箱线图的 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

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

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

箱线图中的艺术家自定义

Artist customization in box plots

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

Box plots with custom fill colors

箱线图

Boxplots

箱线图与小提琴图的比较

Box plot vs. violin plot comparison

分离箱线图的计算和绘制

Separate calculation and plotting of boxplots

boxplot(X)

boxplot(X)