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()
输出
制作出来的输出图如下 −
示例 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()
输出
上面这行代码的输出结果如下,
示例 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()
输出
以上代码片段的输出结果如下 −
示例 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()
输出
上面代码的输出显示在下面。