matplotlib.pyplot.violinplot#

matplotlib.pyplot.violinplot(dataset, positions=None, *, vert=None, orientation='vertical', widths=0.5, showmeans=False, showextrema=True, showmedians=False, quantiles=None, points=100, bw_method=None, side='both', facecolor=None, linecolor=None, data=None)[source]#

绘制小提琴图。

为 dataset 的每一列或序列 dataset 中的每个向量绘制小提琴图。每个填充区域延伸以表示完整的数据范围,并可选择在平均值、中位数、最小值、最大值和用户指定的分位数处绘制线条。

参数:
dataset一维数组,或一维数组序列,或二维数组

输入数据。可能的值:

  • 一维数组:绘制单个小提琴。

  • 一维数组序列:为序列中的每个数组绘制一个小提琴。

  • 二维数组:为数组的每一列绘制一个小提琴。

非有限值(Non-finite)和掩码(masked)值将被忽略。

positions类数组,默认值: [1, 2, ..., n]

小提琴图的位置;即垂直小提琴图的 x 轴坐标(或水平小提琴图的 y 轴坐标)。

vert布尔值,可选

自 3.10 版本弃用:请改用 orientation。

如果在弃用期内提供此参数,它将覆盖 orientation 参数。

如果为 True,则垂直绘制小提琴图。如果为 False,则水平绘制小提琴图。

orientation{'vertical', 'horizontal'},默认值: 'vertical'

如果为 'horizontal',则水平绘制小提琴图。否则,垂直绘制小提琴图。

自 3.10 版本新增。

widths浮点数或类数组,默认值:0.5

每个小提琴在 positions 轴上的最大宽度。默认值为 0.5,在使用默认 positions 时,这代表可用空间的一半。

showmeans布尔值,默认值:False

是否用线条显示均值。

showextrema布尔值,默认值:True

是否用线条显示极值。

showmedians布尔值,默认值:False

是否用线条显示中位数。

quantiles数组类对象, 默认: None

如果非 None,则为每个小提琴设置一个 [0, 1] 区间内的浮点数列表,表示将为该小提琴渲染的分位数。

points整型, 默认: 100

用于评估每个高斯核密度估计的点数。

bw_method{'scott', 'silverman'} 或浮点数或可调用对象,默认:'scott'

用于计算估计器带宽的方法。如果是浮点数,它将直接用作 kde.factor。如果是可调用对象,它应仅接收一个 matplotlib.mlab.GaussianKDE 实例作为参数并返回一个浮点数。

side{'both', 'low', 'high'},默认值:'both'

'both' 绘制标准小提琴图。'low'/'high' 仅绘制位置值下方/上方的一侧。

facecolorcolor 或 color 列表,可选

如果提供,将设置小提琴的填充颜色。

于版本 3.11 新增。

linecolor颜色 或 颜色 列表,可选

如果提供,将设置小提琴的线条颜色(水平和垂直脊线以及主体边缘)。

于版本 3.11 新增。

data可索引对象,可选

如果给定,以下参数也接受字符串 s,如果 s 是 data 中的键,则将其解释为 data[s]。

dataset

返回:
字典

一个字典,将小提琴图的每个组件映射到相应的已创建集合实例列表。该字典包含以下键:

  • bodies: 包含每个小提琴填充区域的 PolyCollection 实例列表。

  • cmeans: 一个 LineCollection 实例,标记每个小提琴分布的平均值。

  • cmins: 一个 LineCollection 实例,标记每个小提琴分布的底部。

  • cmaxes: 一个 LineCollection 实例,标记每个小提琴分布的顶部。

  • cbars: 一个 LineCollection 实例,标记每个小提琴分布的中心。

  • cmedians: 一个 LineCollection 实例,标记每个小提琴分布的中位数。

  • cquantiles: 一个为标识每个小提琴分布的分位数值而创建的 LineCollection 实例。

另请参阅

Axes.violin

根据预先计算的统计数据绘制小提琴图。

boxplot

绘制箱线图。

备注

注意

这是 axes.Axes.violinplot 的 pyplot 封装器。

使用 matplotlib.pyplot.violinplot 的示例#

箱线图与小提琴图比较

箱线图与小提琴图比较

小提琴图基础

小提琴图基础

小提琴图自定义

小提琴图自定义