Seaborn.boxenplot() 方法

Seaborn.boxenplot() 方法用于绘制增强箱线图。 对于较大的数据集,通常会这样做。 因为它显示了大量被分类为"字母值"的分位数,所以这种类型的图形最初被称为"字母值"图。 根据实际观察绘制具有所有特征的分布的非参数表示与箱形图相当。 绘制更多的分位数可以揭示有关分布形状的更多细节,尤其是尾部。

语法

以下是 seaborn.boxenplot() 方法的语法 −

seaborn.boxenplot(*, x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, k_depth='tukey', linewidth=None, scale='exponential', outlier_prop=0.007, trust_alpha=0.05, showfliers=True, ax=None, **kwargs)

参数

下面讨论boxenplot()方法的一些参数 −

S.No 名称和描述
1 x,y

这些参数将变量名称作为绘制长格式数据的输入。

2 data

这是用于绘制图形的数据框。

3 hue

数据框中绘制图形所需的变量名称。

4 linewidth

此参数采用浮动值并确定构成图中元素的灰线的宽度。

5 dodge

此参数采用布尔值。 如果我们使用色调嵌套,将 true 传递给此参数将分离不同色调级别的条带。 如果传递了 False,每个级别的点将被绘制在彼此之上。

6 orient

它取值"h"或"v",并以此为基础确定图形的方向。

7 color

matplotlib 颜色作为输入,这决定了所有元素的颜色。

8 palette

此参数指定不同色调映射的颜色。

9 showfliers

采用布尔值并在传递 False 时抑制离群值的绘制。

10 saturation

取一个浮点值,绘制颜色的原始饱和度的比例由该值决定。


加载 seaborn 库

让我们在继续开发绘图之前加载 seaborn 库和数据集。 要加载或导入 seaborn 库,可以使用以下代码行。

Import seaborn as sns

加载数据集

在本文中,我们将使用 Seaborn 库中内置的 Titanic 数据集。 以下命令用于加载数据集。

titanic=sns.load_dataset("titanic")

下面提到的命令用于查看数据集中的前 5 行。 这使我们能够了解哪些变量可用于绘制图形。

titanic.head()

以下是上面这段代码的输出。

index,survived,pclass,sex,age,sibsp,parch,fare,embarked,class,who,adult_male,deck,embark_town,alive,alone
0,0,3,male,22.0,1,0,7.25,S,Third,man,true,NaN,Southampton,no,false
1,1,1,female,38.0,1,0,71.2833,C,First,woman,false,C,Cherbourg,yes,false
2,1,3,female,26.0,0,0,7.925,S,Third,woman,false,NaN,Southampton,yes,true

现在我们已经加载了数据集,我们将探索几个示例。

示例 1

在这个例子中,我们将使用 x 和 y 参数绘制一个简单的箱线图。 内置的 titanic 数据集用于理解本文中 boxenplot() 方法的用法。 我们会将 class 和 fare 列传递给该方法。 下面的代码行可用于执行此操作。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxenplot(x="class", y="fare", data=titanic)
plt.show()

输出

运行上面这行代码得到的输出结果如下 −

箱形图

示例 2

我们将了解hue参数的用法。 此参数将分类变量作为输入并相应地绘制图形。 由于我们使用的是 titanic 数据集,因此我们传递了具有值 man woman 和 child 的 who 变量。 下面的代码行可用于执行此操作。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxenplot(x="class", y="fare",hue="who", data=titanic)
plt.show()

输出

上面代码行的输出如下所示。

boxenplot 方法

示例 3

函数 seaborn.boxenplot() 方法有各种参数,linewidth 就是其中一个参数。 此参数采用浮动值并确定构成图中元素的灰线的宽度。 在下面的示例中,linewidth 传递了一个值 5,并且可以在下面看到绘图的变化。 要将值传递给 linewidth 方法,可以使用以下代码行。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxenplot(x="class", y="fare",hue="who", linewidth=5,data=titanic)
plt.show()

输出

输出结果如下 −

sns.boxenplot(x="class", y="fare",hue="who", linewidth=5,data=titanic)
seaborn boxenplot

得到的线太粗了,图都被覆盖了。 这样做是为了展示此参数的工作原理。

示例 4

函数 seaborn.boxenplot() 方法有各种参数,我们将在本例中了解一些其他参数的工作原理,例如展示传单、大小和颜色。

Show fliers 参数采用布尔值并在传递 False 时抑制离群值的绘制。 颜色参数将 matplotlib 颜色作为输入,这决定了所有元素的颜色。 size 参数采用浮点值作为输入,标记的大小由此输入确定。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.boxenplot(x="class", y="fare",hue="who",showfliers=False,data=titanic)
sns.stripplot(x="class",y="fare",hue="who",size=2,color=".26",data=titanic)
plt.show()

输出

上面这行代码的输出结果如下,

seaborn boxenplot 方法

❮Seaborn 分类图简介