Seaborn.countplot() 方法

Seaborn.countplot() 方法用于显示数据集中每个 bin 中分类观察的计数。 计数图类似于分类变量的直方图,而不是定量变量。 您可以比较嵌套变量的计数,因为基本 API 和设置与 barplot() 的相同。

countplot() 方法接受多种形式的输入数据,例如宽格式数据、长格式数据、数组或向量列表。

语法

以下是 seaborn.countplot() 方法的语法 −

seaborn.countplot(*, x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, dodge=True, ax=None, **kwargs)

参数

seaborn.countplot()方法的部分参数如下 −

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 saturation

取一个浮点值,绘制颜色的原始饱和度的比例由该值决定。

让我们在继续开发绘图之前加载 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 参数。 在这种情况下,我们将先只传递 y 参数,然后再传递 x 参数。

当您只想传递 y 参数时,可以使用下面的代码行。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(y="time", data=tips)
plt.show()

输出

上面代码行的输出可以在下面看到 −

count plot

当您只想传递 x 参数时,可以使用下面的代码行。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(x="time", data=tips)
plt.show()

产生的输出如下 −

seaborn countplot

示例 2

在此示例中,我们将传递 hue 参数以及 x 或 y 参数,并观察生成的图形中的差异。 我们在本文中使用了 tips 数据集,因为 hue 需要一个分类变量,变量 sex 被传递给它,y 参数也需要一个分类变量,因为 countplot 是一个分类图,如果任何一个 xy 参数是分类的。 下面的代码可用于绘制所需的图形。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(y="time", hue="sex",data=tips)
plt.show()

输出

得到的输出如下 −

seaborn countplot 方法

示例 3

现在,我们将看到 edgecolor、facecolor 和 linewidth 参数的用法。 通常,将所有这些参数组合起来以获得所需颜色和外观的图形。

边缘颜色是一个特殊的参数 hat 取值,matplotlib 颜色或"grey"。 它是一个可选参数。 每个点周围线条的色调由该参数决定。 如果您通过"grey",则用于点主体的配色方案决定了亮度。

Facecolor 参数确定绘图中元素的背景颜色。 linewidth 参数采用浮动值并确定构成图中元素的灰线的宽度。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.countplot(y="sex",edgecolor=sns.color_palette("dark", 3),facecolor=(0,0,0,0),linewidth=5,data=tips)
plt.show()

输出

得到的输出如下 −

因为 facecolor 被初始化为零,所以图中的背景是空的。

countplot 方法

❮Seaborn 分类图简介