Python Seaborn countplot绘制条形图参数详解与实战

Mia
Mia
发布时间:2026-10-15| 4人浏览过
原创

本文详细介绍Python中Seaborn库的countplot函数,用于绘制类别特征的频数统计条形图。文章解析了x、y、hue、data、order、palette等核心参数的用法,并通过Titanic数据集演示了如何绘制基础条形图、分组条形图、自定义排序与配色,以及如何在子图中组合展示。

引言与函数定义

前言

在Python数据可视化中,函数专门用于绘制类别特征的频数统计条形图,能够直观展示不同类别下的样本数量分布。

该函数的完整参数定义如下所示:

sns.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)

核心参数详解

各参数的具体含义说明如下:

  • x:指定x轴上的条形图,系统将根据x标签的值来划分并统计对应的个数。
  • y:指定y轴上的条形图,系统将根据y标签的值来划分并统计对应的个数。
  • hue:在x或y标签划分的基础上,进一步以hue标签进行分组,统计各组别的个数,通常通过颜色区分。
  • data:接收DataFrame、数组或数组列表作为绘图数据集。当x或y参数缺失时,data参数必须提供完整的数据集,且x或y中至少需要指定其中一个。
  • order与hue_order:分别用于指定x轴或y轴字段的排序顺序,以及hue分组字段的排序顺序。排序方式需传入列表。
  • orient:强制设定条形图的方向,'v'表示竖直方向,'h'表示水平方向。
  • palette:指定使用的颜色调色板,可改变条形图的颜色风格。

实战案例演示

以下示例均基于titanic.csv数据集(具体数据见代码块)。

基础条形图绘制

示例一:绘制x轴上的条形图

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
titanic=pd.read_csv('train.csv')
titanic.columns
#x轴上的条形图
sns.countplot(x='Pclass',data=titanic)
plt.show()

#或者直接使用df[col]
sns.countplot(x=titanic['Pclass'])

运行结果:

y轴条形图与分组统计

示例二:绘制y轴上的条形图

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

titanic=pd.read_csv('train.csv')
titanic.columns

#y轴上的条形图
sns.countplot(y='Pclass',data=titanic)
plt.show()

#或者直接使用df[col]
sns.countplot(y=titanic['Pclass'])

运行结果:

示例三:使用hue参数进行分组统计

# hue
sns.countplot(x='Pclass', hue='Survived', data=titanic)
plt.show()

# 或者直接使用df[col]
sns.countplot(x=titanic['Pclass'], hue=titanic['Survived'])

运行结果:

import pandas as pd
import seaborn as sns

titanic = pd.read_csv('train.csv')
titanic.columns

#order,hue_order
sns.countplot(x='Pclass',hue='Survived',data=titanic,order=[3,2,1],hue_order=[1,0])
plt.show()

运行结果:

样式调整与子图组合

示例四:通过palette参数改变柱状图样式

import pandas as pd
import seaborn as sns

titanic = pd.read_csv('train.csv')
titanic.columns
#调色板
sns.countplot(x=‘Pclass',data=titanic,palette=“Set3”)
plt.show()

运行结果:

示例五:指定子图绘制

#ax指定子图
fig, ax = plt.subplots(1, 2, figsize=(10, 5))
sns.countplot(x='Pclass', data=titanic, ax=ax[0])
sns.countplot(y='Pclass', data=titanic, ax=ax[1])
plt.show()

运行结果:

至此,关于Python中函数绘制条形图的详细教程介绍完毕。如需了解更多Python条形图相关内容,建议搜索本站过往文章或继续浏览后续相关文章,感谢大家的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。