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()
输出
上面代码行的输出如下所示。
示例 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)
得到的线太粗了,图都被覆盖了。 这样做是为了展示此参数的工作原理。
示例 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()
输出
上面这行代码的输出结果如下,