Seaborn.catplot() 方法
Seaborn.catplot() 方法用于绘制分类图。 通过使用众多视觉表示之一,此函数使用户可以访问许多轴级函数,这些函数说明了数值数据与一个或多个类别变量之间的联系。 底层轴级函数由 kind 参数选择。
kind参数取以下值,下面列出了可以绘制的不同分类图的区别。
分类散点图由 catplot、strip plot 和 swarm plot 组成。
分类分布图包括箱线图、小提琴图和箱线图。
分类估计图由条形图、点图和计数图组成。
语法
以下是 seaborn.catplot() 方法的语法。
seaborn.catplot(*, x=None, y=None, hue=None, data=None, row=None, col=None, col_wrap=None, estimator=<function mean at 0x7ff320f315e0>, ci=95, n_boot=1000, units=None, seed=None, order=None, hue_order=None, row_order=None, col_order=None, kind='strip', height=5, aspect=1, orient=None, color=None, palette=None, legend=True, legend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws=None, **kwargs
参数
下面列出了此方法的一些参数。
S.No | 名称和描述 |
---|---|
1 | x,y 这些参数将变量的名称作为输入,绘制长格式数据。 |
2 | data 这是用于绘制图形的数据框。 |
3 | hue 数据框中绘制图形所需的变量名称。 |
4 | kind 此参数采用不同的值,例如 swarm、strip 等,图形的性质取决于此。 |
5 | height 这些参数采用标量值并采用以英寸为单位的绘图高度。 |
6 | aspect 此参数采用标量值。 aspect*height 将给出绘图的宽度。 |
7 | orient 它取值"h"或"v",并以此为基础确定图形的方向。 |
8 | row, col 这些是要绘制的数据框中的分类变量。 |
让我们在继续开发绘图之前加载 seaborn 库和数据集。
载入seaborn 库
要加载或导入 seaborn 库,可以使用以下代码行。
Import seaborn as sns
加载数据集
在本文中,我们将使用 seaborn 库中内置的 Tips 数据集。 以下命令用于加载数据集。
tips=sns.load_dataset("tips")
下面提到的命令用于查看数据集中的前 5 行。 这使我们能够了解哪些变量可用于绘制图形。
tips.head()
以下是上面这段代码的输出。
index,total_bill,tip,sex,smoker,day,time,size 0,16.99,1.01,Female,No,Sun,Dinner,2 1,10.34,1.66,Male,No,Sun,Dinner,3 2,21.01,3.5,Male,No,Sun,Dinner,3 3,23.68,3.31,Male,No,Sun,Dinner,2 4,24.59,3.61,Female,No,Sun,Dinner,4
现在我们已经加载了数据,我们将继续绘制数据。
示例 1
在这个例子中,我们将了解如何通过将 x、y 和 hue 参数传递给方法来生成一个简单的 catplot()。
为此,可以使用以下代码行。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.catplot(data=tips,x="total_bill",y="tip",hue="time") plt.show()
输出
生成的图将如下图所示。
示例 2
在这个例子中,我们将了解如何使用高度和纵横比参数来修改绘图的大小。 我们将值传递给这些参数并观察绘图大小的变化。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.catplot(data=tips,x="sex",y="tip",hue="time",height=5, aspect=.8) plt.show()
上面的代码行可用于生成具有更改绘图维度的 catplot()。
输出
为此生成的输出图将如下图所示。
示例 3
由于 catplot() 绘制分类图,我们将了解 row 和 col 参数的用法。 row 和 col 参数从数据框中获取分类变量并将它们绘制在面上。
我们正在使用 tips 数据集,它有 4 个分类变量,sex, day, time 和 smoker。 我们在下图中使用了所有这四个变量。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.catplot(data=tips,x="day",y="tip",hue="time",col="smoker",row="sex") plt.show()
以上代码行可用于使用 catplot() 方法绘制 tips 数据集中的所有四个分类变量。
输出
生成的输出图如下所示。
示例 4
seaborn.catplot() 方法中有很多参数。 Kind 是一个非常有用的参数。 传递给此参数的值决定绘制的绘图的性质。 它可以采用不同的值,例如"strip"、"swarm"、"box"、"violin"、"boxen"、"point"、"bar"或"count"。
这个参数的作用可以在下面给出的代码中理解。
import seaborn as sns import matplotlib.pyplot as plt tips=sns.load_dataset("tips") tips.head() sns.catplot(data=tips,x="day",y="tip",hue="sex",col="time",kind="swarm") plt.show()
输出
可以在下面看到上面一行产生的输出,其中 plot 是 swarm 的类型。