Seaborn.violinplot() 方法

Seaborn.violinplot() 方法允许用户绘制箱线图以及核密度估计值。 小提琴图、箱形图和胡须图的用途相同。 为了便于比较,它显示了一个(或多个)分类变量的多个级别的定量数据分布。

小提琴图包括基础分布的核密度估计,而不是箱形图,其中所有绘图元素都对应于实际数据点。

语法

以下是 violinplot() 方法的语法 −

seaborn.violinplot(*, x=None, y=None, hue=None, data=None, order=None, hue_order=None, bw='scott', cut=2, scale='area', scale_hue=True, gridsize=100, width=0.8, inner='box', split=False, dodge=True, orient=None, linewidth=None, color=None, palette=None, saturation=0.75, ax=None, **kwargs)

参数

下面讨论了 seaborn.violinplot() 方法的一些参数。

S.No 参数及说明
1 x,y

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

2 data

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

3 hue

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

4 linewidth

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

5 dodge

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

6 orient

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

7 color

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

8 size

此参数决定绘制的图中标记的半径。

9 palette

此参数用于设置绘图的调色板。

10 inner

此可选参数采用以下值。 "box", "quartile", "point", "stick", None。 它用于表示小提琴内部的数据点。

11 scale

此参数用于缩放每个小提琴的宽度。 它采用值、计数、宽度和面积。

12 scale_hue

当使用色调变量对小提琴进行分层时,此参数控制是在绘图上的所有小提琴上计算缩放比例,还是在主要分组变量的每个级别内计算缩放比例(scale hue = False)。

13 bw

它采用以下值之一,float、"scott"、"silverman"和 optional

用于计算内核带宽的比例因子,或参考规则的名称。 比例因子乘以每个箱内数据的标准偏差将产生实际的内核大小。


加载 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

在这个例子中,我们将看到如何使用 seaborn.violinplot() 方法。 我们会将 x、y、hue 和 palette 参数传递给该方法,然后我们将观察正在绘制的图。 我们在本文中使用内置的 titanic 数据集。 下面的代码行使用小提琴绘图方法的 x、y、色调和调色板参数。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.violinplot(x="who", y="age", data=titanic,hue="class",palette="muted")
plt.show()

输出

制作出来的输出图如下 −

violinplot

示例 2

在这个例子中,我们将了解内部参数的用法。 此可选参数采用以下值。 "box", "quartile", "point", "stick", None。 它用于表示小提琴内部的数据点。 可以通过下面这行代码来理解内置参数的用法。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.violinplot(x="survived", y="age", data=titanic,hue="class",palette="muted",inner="quartile")
plt.show()

输出

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

seaborn violinplot

示例 3

violinplot() 方法中有很多参数。 我们将了解如何使用 scale 和 scale hue 参数。 scale 参数用于缩放每个小提琴的宽度。 它采用值、计数、宽度和面积。 scale_hue 参数控制在使用色调变量(scale hue=False)对小提琴进行分层时,是在绘图上的所有小提琴上计算缩放比例,还是在主要分组变量的每个级别内计算缩放比例。 这些参数连同上面提到的参数一起在这个例子中描述。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.violinplot(x="survived", y="age", data=titanic,hue="class",palette="muted",inner="stick",scale="count",scale_hue=False)
plt.show()

输出

以上代码片段的输出结果如下 −

violinplot 方法

示例 4

我们将在此示例中使用 bw 参数以及所有其他参数。 它采用以下值之一:float、"scott"、"silverman"和可选值。 用于计算内核带宽的缩放因子,或引用规则的名称。 比例因子乘以每个 bin 内数据的标准差将得出实际的内核大小。 以下代码行可用于执行此操作。

#bw is used to narrow bandwith to reduce smoothing
import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.violinplot(x="survived", y="age", data=titanic,hue="class",palette="muted",inner="quartile",scale="count",bw=.2)
plt.show()

输出

上面代码的输出显示在下面。

violinplot() 方法

❮Seaborn 分类图简介