Python Seaborn可视化实战:从单变量到多维关系图详解

清欢
清欢
发布时间:2026-10-13| 5人浏览过
原创

本文详解Python中Seaborn库的常用绘图方法。涵盖单变量统计图如countplot和distplot,以及双变量关系图如小提琴图、箱线图、棒图、折线图、热力图和散点图。通过具体代码示例展示参数设置与图形解读,帮助开发者快速掌握数据分布分析与异常值检测技巧。

Seaborn库基础与环境配置

Seaborn是基于matplotlib构建的高级Python数据可视化库,使用前需确保已安装matplotlib环境。

所有生成的图形默认通过plt.show()函数渲染显示,也可通过创建自定义画布对象来管理多个子图。


fig,ax=plt.subplots()  #一个画布

fig,(ax1,ax2) = plt.subplots( ncols=2)  #两个画布

单变量特征统计分析

1)单变量统计图:计数分布图(countplot)

使用sn.countplot(train.mnth)可绘制离散型特征的频数分布,直观展示样本点在各类别中的出现次数。

2)单变量统计图:分布图(distplot)

调用sn.distplot(train.cnt.values, bins=50, kde=True)可分析连续型特征分布,其中bins=50将数据划分为50个区间,kde=True启用核密度估计曲线。若图形尾部出现极端值,可能提示存在离群点或噪声,建议进行清洗处理。

双变量分布与关系可视化

3)双变量关系图:小提琴图(violinplot)

使用sn.violinplot(data=train[['yr', 'cnt']], x="yr", y="cnt")可展示数据分布及概率密度。图中黑色粗条代表四分位数范围,延伸的黑线表示95%置信区间,白点标记中位数位置。

4)双变量关系图:箱线图(boxplot)

调用sn.boxplot(data=train, x="yr", y="cnt")绘制箱线图(亦称盒须图),用于展示数据分散程度。图形结构自上而下依次为:异常值(可选)、最大值、上四分位数、中位数、下四分位数、最小值及异常值(若存在需重点关注)。

多维关系与异常值检测

5)双变量关系图:棒图(barplot)


fig,(ax1,ax2) = plt.subplots(ncols=2) #一个画布,两个轴

sn.barplot(data=train,x='holiday',y='cnt',hue='weathersit',ax=ax1) #hue='weathersit',通过weathersit来区分

sn.barplot(data=train,x='workingday',y='cnt',hue='season',ax=ax2) #hue='season',通过season来区分

6)双变量关系图:折线图(pointplot)


fig,ax = plt.subplots()

sn.pointplot(data=train[['dayofyear','cnt', 'yr']],x='dayofyear',y='cnt',hue='yr',ax=ax)

# hue='yr'指的是区分开年份。hue指颜色

ax.set(title="dayly distribution of counts")

plt.show()

7)关系热力图(heatmap)


corrMatt = train[["temp","atemp","hum","windspeed","cnt"]].corr()

mask = np.array(corrMatt)

mask[np.tril_indices_from(mask)] = False

sn.heatmap(corrMatt, mask=mask,

      vmax=1, square=True,annot=True)

plt.show()

8)双变量散点图(scatterplot)


sn.scatterplot(x=train.GrLivArea,y=train.SalePrice)

plt.title("Looking for outliers") #图形标题

plt.show()

以上内容总结了Python中Seaborn库的核心绘图功能,旨在为读者提供实用的参考指南,欢迎进一步探索与技术支持。

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

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 算法库。