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()
输出
上面代码行的输出可以在下面看到 −
当您只想传递 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()
产生的输出如下 −
示例 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()
输出
得到的输出如下 −
示例 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 被初始化为零,所以图中的背景是空的。