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()

输出

生成的图将如下图所示。

simple catplot

示例 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 的类型。

输出结果

❮Seaborn 分类图简介