seaborn系列 (5) | 柱状图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)

参数解读

在这里插入图片描述

输入数据可以通过多种格式传递:

1.list、numpy数组、pandas
2.long-form DataFrame
3.wide-form DataFrame
4.在大多数情况下,可以使用numpy或Python对象,但推荐使用pandas对象,
因为关联的名称将用于注释轴。
此外,使用分类类型来分组变量来控制绘图元素的顺序。

可选:
x,y,hue:数据变量的名称(如上表,date,name,age,sex为数据字段变量名)
用于绘制数据的输入

data: DataFrame,数组或数组列表
用于绘图的数据集,如果x和y不存在,则将其解释为 wide-form,
否则它被认为是 long-form

order, hue_order:字符串列表
指定绘制分类级别,否则从数据对象推断级别

orient: v | h
图的显示方向(垂直或水平,即横向或纵向),这通常可以从输入变量的dtype推断得到

palette:调色板名称,list列表,dict字典
用于对变量调不同级别的颜色

saturation(饱和度):float
用于绘制颜色的原始饱和度的比例,如果希望绘图颜色与输入颜色规格完美匹配,
则将其设置为1

dodge:bool
使用色调嵌套时,是否应沿分类轴移动元素。

案例教程

案例代码已上传:Github地址


import seaborn as sns
sns.set(style="darkgrid")
titanic = sns.load_dataset("titanic")
#查看数据
titanic[:8]

在这里插入图片描述


import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
# 获取数据
titanic = sns.load_dataset("titanic")
"""
案例1:显示单个分类变量的值统计数
"""
sns.countplot(x="who", data=titanic)
plt.show()

在这里插入图片描述


import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
# 获取数据
titanic = sns.load_dataset("titanic")
"""
案例2:显示多个分类变量的值统计数
"""
sns.countplot(x="class", hue="who", data=titanic)
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
# 获取数据
titanic = sns.load_dataset("titanic")
"""
案例3:水平横向绘制条形图
"""
sns.countplot(y="class", hue="who", data=titanic)
plt.show()

在这里插入图片描述


import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
# 获取数据
titanic = sns.load_dataset("titanic")
"""
案例4:使用不同调色板
"""
sns.countplot(x="who", data=titanic, palette="Set2")
plt.show()

在这里插入图片描述


import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
# 获取数据
titanic = sns.load_dataset("titanic")
"""
案例5:使用catplot()来实现countplot()的统计效果,必须设置kind="count"
当要对其他分类变量进行分组时,使用catplot()比直接使用FacetGrid更加安全
"""
sns.catplot(x="class", hue="who", col="survived",
            data=titanic, kind="count",
            height=4, aspect=.7);
plt.show()

在这里插入图片描述

import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="darkgrid")
# 获取数据
titanic = sns.load_dataset("titanic")
"""
案例6:绘制空心的直方图
"""
sns.countplot(x="who", data=titanic,
              facecolor=(0, 0, 0, 0),
              linewidth=5,
              edgecolor=sns.color_palette("dark", 3))
plt.show()

在这里插入图片描述

案例地址

上述案例代码已上传:Github地址
Github地址https://github.com/Vambooo/SeabornCN

更多技术干货在公众号:数据分析与可视化学研社
在这里插入图片描述

Seaborn库可以使用`countplot()`函数来绘制柱状图,该函数可以直接显示每个类别的计数。例如,使用`sns.countplot(x='size', data=tips)`可以绘制出根据"size"变量计算的柱状图,其中"x"指定了标签值,"data"指定了数据集。如果想要使用Seaborn绘制带有误差线的柱状图,可以使用`barplot()`函数。该函数的参数包括"x"(指定标签值)、"y"(对应每个标签的数据值)和"hue"(用于指定分类变量)。例如,`sns.barplot(x='a', y='b', data=df, hue='d')`可以绘制出带有误差线的柱状图,其中"x"指定了"label","y"指定了数据值,"hue"指定了分类变量。使用Seaborn柱状图函数可以方便地展示数据的集中趋势和差异。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python绘图:柱状图绘制详解](https://blog.csdn.net/huguozhiengr/article/details/85704014)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python数据分析28——seaborn可视化(四)之箱线图和分类柱状图](https://blog.csdn.net/weixin_44080811/article/details/92391271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑机接口社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值