seaborn.boxplot#
- seaborn.boxplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, fill=True, dodge='auto', width=0.8, gap=0, whis=1.5, linecolor='auto', linewidth=None, fliersize=None, hue_norm=None, native_scale=False, log_scale=None, formatter=None, legend='auto', ax=None, **kwargs)#
绘制箱线图以显示相对于类别的分布。
箱线图(或箱线图)以一种方便比较变量或跨分类变量级别的方式显示定量数据的分布。 箱子显示数据集的四分位数,而胡须则延伸以显示分布的其余部分,除了使用基于四分位数间距的方法确定的“异常值”点。
有关更多信息,请参阅 教程。
注意
默认情况下,此函数将一个变量视为分类变量,并在相关轴上绘制数据在序数位置(0、1、… n)。 从 0.13.0 版开始,可以通过设置
native_scale=True
来禁用此功能。- 参数:
- dataDataFrame、Series、字典、数组或数组列表
用于绘图的数据集。 如果
x
和y
缺失,则将其解释为宽格式。 否则,预计它将是长格式。- x、y、hue
data
中变量的名称或向量数据 用于绘制长格式数据的输入。 有关解释,请参阅示例。
- order、hue_order字符串列表
用于绘制分类级别的顺序; 否则,级别将从数据对象中推断出来。
- orient“v” | “h” | “x” | “y”
绘图的方向(垂直或水平)。 这通常根据输入变量的类型推断,但可用于在
x
和y
均为数值或绘制宽格式数据时解决歧义。v0.13.0 版中的更改: 添加了 ‘x’/’y’ 作为选项,等效于 ‘v’/’h’。
- colormatplotlib 颜色
绘图中元素的单一颜色。
- palette调色板名称、列表或字典
用于
hue
变量不同级别的颜色。 应该是可以被color_palette()
解释的东西,或者是一个将色调级别映射到 matplotlib 颜色的字典。- saturation浮点数
用于绘制填充颜色的原始饱和度的比例。 大面积补丁通常看起来更好的颜色是去饱和的颜色,但如果希望颜色与输入值完全匹配,请将其设置为
1
。- fill布尔值
如果为 True,则使用实心补丁。 否则,绘制为线框。
v0.13.0 版中的新增功能。
- dodge“auto” 或布尔值
使用色调映射时,元素是否应该沿方向轴缩小和移动以消除重叠。 如果为
"auto"
,则在方向变量与分类变量交叉时设置为True
,否则设置为False
。0.13.0 版中的更改: 添加了
"auto"
模式作为新的默认值。- width浮点数
分配给方向轴上每个元素的宽度。 当
native_scale=True
时,它相对于本机刻度中两个值之间的最小距离。- gap浮点数
沿方向轴收缩此因子以在闪避元素之间添加间隙。
v0.13.0 版中的新增功能。
- whis浮点数或浮点数对
控制胡须长度的参数。 如果为标量,则胡须绘制到距最近铰链 *whis * IQR 内的最远数据点。 如果为元组,则将其解释为胡须代表的百分位数。
- linecolor颜色
用于线元素的颜色,当
fill
为 True 时。v0.13.0 版中的新增功能。
- linewidth浮点数
框定绘图元素的线的宽度。
- fliersize浮点数
用于指示异常值观察的标记的大小。
- hue_norm元组或
matplotlib.colors.Normalize
对象 当
hue
是数值型时,应用于hue
变量的颜色映射的 数据单位中的规范化。如果hue
是分类型则不相关。v0.12.0 版本新增。
- log_scale布尔值或数字,或布尔值或数字对
将轴刻度设置为对数刻度。单个值将为图中任何数值轴设置数据轴。一对值将分别设置每个轴。数值型解释为所需的底数(默认值为 10)。当为
None
或False
时,seaborn 会委托给现有的 Axes 刻度。v0.13.0 版中的新增功能。
- native_scale布尔值
当为 True 时,分类轴上的数值型或日期时间值将保持其原始缩放比例,而不是转换为固定索引。
v0.13.0 版中的新增功能。
- formatter可调用对象
用于将分类数据转换为字符串的函数。影响分组和刻度标签。
v0.13.0 版中的新增功能。
- legend“auto”, “brief”, “full”, 或 False
如何绘制图例。如果为“brief”,数值型
hue
和size
变量将用一组均匀间隔的值表示。如果为“full”,每个组将在图例中获得一个条目。如果为“auto”,则根据级别数量选择简要或完整表示。如果为False
,则不会添加图例数据,也不会绘制图例。v0.13.0 版中的新增功能。
- axmatplotlib Axes
用于绘制图的 Axes 对象,否则使用当前 Axes。
- kwargs键值映射
其他关键字参数将传递给
matplotlib.axes.Axes.boxplot()
。
- 返回值:
- axmatplotlib Axes
返回绘制了图的 Axes 对象。
另请参见
violinplot
箱线图和核密度估计的组合。
stripplot
一个散点图,其中一个变量是分类型。可以与其他图结合使用以显示每个观察值。
swarmplot
一个分类散点图,其中点不会重叠。可以与其他图结合使用以显示每个观察值。
catplot
将一个分类图与
FacetGrid
相结合。
示例
绘制单个水平箱线图,将数据直接分配给坐标变量
sns.boxplot(x=titanic["age"])
按分类变量分组,引用数据框中的列
sns.boxplot(data=titanic, x="age", y="class")
绘制一个垂直箱线图,通过两个变量进行嵌套分组
sns.boxplot(data=titanic, x="class", y="age", hue="alive")
将箱子绘制为线艺术,并在它们之间添加一个小间隙
sns.boxplot(data=titanic, x="class", y="age", hue="alive", fill=False, gap=.1)
使用晶须覆盖数据的全部范围
sns.boxplot(data=titanic, x="age", y="deck", whis=(0, 100))
绘制更窄的箱子
sns.boxplot(data=titanic, x="age", y="deck", width=.5)
修改所有线艺术的颜色和宽度
sns.boxplot(data=titanic, x="age", y="deck", color=".8", linecolor="#137", linewidth=.75)
按数值变量分组并保留其原始缩放比例
ax = sns.boxplot(x=titanic["age"].round(-1), y=titanic["fare"], native_scale=True) ax.axvline(25, color=".3", dashes=(2, 2))
使用底层 matplotlib 函数的参数自定义图
sns.boxplot( data=titanic, x="age", y="class", notch=True, showcaps=False, flierprops={"marker": "x"}, boxprops={"facecolor": (.3, .5, .7, .5)}, medianprops={"color": "r", "linewidth": 2}, )