当前位置: 首页 > news >正文

seaborn库详解

Seaborn 是一个基于 Python 的统计数据可视化库,它建立在 matplotlib 之上,旨在提供更高级、更美观、更具统计意义的可视化功能。

CONTENT

  • 1. 单变量分布可视化
    • 功能
    • 代码
  • 2. 双变量联合分布可视化
    • 功能
    • 代码
  • 3. 分类数据柱状图可视化
    • 功能
    • 代码
  • 4. 箱线图可视化分类数据分布
    • 功能
    • 代码
  • 5. 线性回归关系可视化
    • 功能
    • 代码
  • 6. 多变量关系矩阵可视化
    • 功能
    • 代码
  • 热力图可视化数据相关性
    • 功能
    • 代码

1. 单变量分布可视化

功能

使用 histplot() 函数绘制直方图,展示单变量数据的分布情况,可直观看到数据在各个区间的频次。

代码

import seaborn as sns
import matplotlib.pyplot as plt# 加载内置数据集
tips = sns.load_dataset("tips")
# 绘制 total_bill 列的直方图
sns.histplot(tips["total_bill"], kde=True)
plt.show()

在这段代码中,首先加载了 Seaborn 的内置数据集 tips,然后使用 histplot() 函数绘制 total_bill 列的直方图,kde=True 表示同时绘制核密度估计曲线,最后使用 plt.show() 显示图形。

2. 双变量联合分布可视化

功能

jointplot() 函数用于创建双变量的联合分布图,既能展示两个变量各自的分布,又能显示它们之间的关系。

代码

import seaborn as sns
import matplotlib.pyplot as plttips = sns.load_dataset("tips")
# 绘制 total_bill 和 tip 两列的联合分布图
sns.jointplot(x="total_bill", y="tip", data=tips, kind="scatter")
plt.show()

这里通过 jointplot() 函数,以散点图的形式展示了 tips 数据集中 total_billtip 两列之间的关系,同时在坐标轴上分别展示了它们各自的单变量分布。

3. 分类数据柱状图可视化

功能

barplot() 函数用于绘制柱状图,可比较不同类别之间的均值等统计量。

代码

import seaborn as sns
import matplotlib.pyplot as plttips = sns.load_dataset("tips")
# 绘制不同日子的平均总账单柱状图
sns.barplot(x="day", y="total_bill", data=tips)
plt.show()

此代码使用 barplot() 函数,根据 tips 数据集绘制了不同日期(day 列)对应的平均总账单(total_bill 列)的柱状图,方便比较不同日期的消费情况。

4. 箱线图可视化分类数据分布

功能

boxplot() 函数绘制箱线图,能展示数据的分布范围、中位数、四分位数以及异常值等信息。

代码

import seaborn as sns
import matplotlib.pyplot as plttips = sns.load_dataset("tips")
# 绘制不同日子总账单的箱线图
sns.boxplot(x="day", y="total_bill", data=tips)
plt.show()

该代码利用 boxplot() 函数绘制了 tips 数据集中不同日期(day 列)对应的总账单(total_bill 列)的箱线图,帮助我们分析不同日期消费数据的分布特征。

5. 线性回归关系可视化

功能

lmplot() 函数绘制线性回归图,不仅显示数据点的分布,还能拟合一条线性回归线,分析两个连续变量之间的线性关系。

代码

import seaborn as sns
import matplotlib.pyplot as plttips = sns.load_dataset("tips")
# 绘制 total_bill 和 tip 之间的线性回归图
sns.lmplot(x="total_bill", y="tip", data=tips)
plt.show()

这段代码通过 lmplot() 函数在 tips 数据集中绘制了 total_billtip 之间的线性回归图,从图中可以观察到两者之间的线性趋势。

6. 多变量关系矩阵可视化

功能

pairplot() 函数创建一个包含多个子图的图形,展示数据集中多个变量之间的两两关系,适用于探索性数据分析。

代码

import seaborn as sns
import matplotlib.pyplot as pltiris = sns.load_dataset("iris")
# 绘制 iris 数据集多个变量的关系矩阵图
sns.pairplot(iris)
plt.show()

此代码使用 pairplot() 函数对 iris 数据集进行可视化,展示了数据集中多个变量之间的两两关系,有助于全面了解数据集中变量之间的相互关系。

热力图可视化数据相关性

功能

heatmap() 函数用于绘制热力图,通过颜色深浅表示数值大小,适合展示二维数据矩阵,如相关系数矩阵。

代码

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 生成示例数据
data = {'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# 计算相关系数矩阵
corr_matrix = df.corr()
# 绘制热力图
sns.heatmap(corr_matrix, annot=True)
plt.show()

该代码首先创建了一个示例数据框,然后计算其相关系数矩阵,最后使用 heatmap() 函数绘制热力图,annot=True 表示在图中显示具体的数值,方便分析变量之间的相关性。

相关文章:

  • pandas库详解
  • 【web服务_负载均衡Nginx】一、Nginx 基础与核心概念解析
  • 使用 reverse-sourcemap 工具反编译 Vue 项目
  • 如何通俗理解transformer架构
  • Vue中v-if和v-show区别
  • 探索Web3平台的数据安全和保护机制
  • 蓝光三维扫描技术:高效精密测量相机镜头底座注塑件
  • 在 Power BI Desktop 中设置视觉对象查询限制
  • 基于labview的钢琴程序设计
  • 算法之贪心算法
  • Python + 链上数据可视化:让区块链数据“看得懂、用得上”
  • ESP32- 开发笔记- 硬件设计-ESP32-C3基本电路
  • Windows平台使用Docker部署Neo4j
  • 《MySQL:MySQL数据库的基本操作》
  • 利用互斥锁或者利用逻辑过期解决缓存击穿问题
  • C# 类型、存储和变量(实例化类型)
  • Flutter的原理及美团的实践(下)
  • Java 中 Synchronized如何保证可见性
  • 访问者模式深度解析与实战案例
  • AI日报 - 2025年4月18日
  • “一节课、两小时”,体育正在回归“C位”
  • 2025上海十大动漫IP评选活动启动
  • 临港新片区:发布再保险、国际航运、生物医药3个领域数据出境操作指引
  • 印巴战火LIVE丨印巴互相发动无人机袭击,巴官员称两国已在国安层面接触
  • 印度外交秘书:“朱砂行动”不针对军事设施,无意升级事态
  • 第1现场 | 印巴冲突:印50多年来首次举行大规模民防演习