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

Seaborn 学习笔记

一、Seaborn 简介

定义:建立在 Matplotlib 基础之上的 Python 数据可视化库,专注于统计图形绘制,便于数据呈现与理解。

设计目标:简化统计数据可视化过程,提供高级接口和美观默认主题,支持用少量代码实现复杂图形。

二、Seaborn 安装与导入

安装方式

  1. pip 安装:pip install seaborn
  2. conda 安装:conda install seaborn(可使用清华源:Simple Index)

导入方式

python

运行

import seaborn as sns
sns.set_theme()  # 可设置主题和模板

主题设置(sns.set_theme ())

style 参数(主题风格):

参数值说明
darkgrid深色网格主题(默认)
whitegrid浅色网格主题
dark深色主题,无网格
white浅色主题,无网格
ticks深色主题,带刻度标记

context 参数(适用场景,影响标签和线条大小):

参数值说明
paper适用于小图,标签和线条较小
notebook适用于笔记本环境,标签和线条中等(默认)
talk适用于演讲幻灯片,标签和线条较大
poster适用于海报,标签和线条非常大

示例:sns.set_theme(style="whitegrid", context="paper")

三、常用绘图函数

1. 散点图(sns.scatterplot ())

功能:绘制两个变量之间的散点图,可添加趋势线,展示变量间关系。

2. 折线图(sns.lineplot ())

功能:绘制变量随另一个变量变化的趋势线图。

示例代码

python

运行

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建示例数据框
data = {'X': [1, 2, 3, 4, 5], 'Y': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)# 绘制折线图
sns.lineplot(x='X', y='Y', data=df)
plt.show()

3. 柱形图(sns.barplot ())

功能:绘制变量的均值或其他聚合函数的柱状图,展示类别间的数值差异。

示例代码

python

运行

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建示例数据框
data = {'Category': ['A', 'B', 'C'], 'Value': [3, 7, 5]}
df = pd.DataFrame(data)# 绘制柱状图
sns.barplot(x='Category', y='Value', data=df)
plt.show()

4. 箱线图(sns.boxplot ())

功能:展示变量的分布情况,包括中位数、四分位数、异常值等统计信息。

示例代码

python

运行

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建示例数据框
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)# 绘制箱线图
sns.boxplot(x='Category', y='Value', data=df)
plt.show()

5. 热图(sns.heatmap ())

功能:可视化矩阵数据,常用于展示相关性矩阵,通过颜色深浅反映数值大小。

示例代码

python

运行

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建示例数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)# 创建相关性矩阵
correlation_matrix = df.corr()# 绘制热图
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f")
plt.show()

6. 小提琴图(sns.violinplot ())

功能:结合箱线图和核密度估计,展示数据分布的形状和密度,更全面反映数据特征。

示例代码

python

运行

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建示例数据框
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)# 绘制小提琴图
sns.violinplot(x='Category', y='Value', data=df)
plt.show()
http://www.dtcms.com/a/321274.html

相关文章:

  • DigitalProductId解密算法php版
  • 「安全发」ISV对接支付宝+小猎系统
  • Prometheus 通过读取文件中的配置来监控目标
  • [ MySQL 数据库 ] 环境安装配置和使用
  • Rocky Linux 安装 Google Chrome 浏览器
  • (附源码)基于SpringBoot的高校爱心捐助平台的设计与实现
  • USB (Universal Serial Bus,通用串行总线)
  • K次取反后最大化的数组和
  • [案例十] NX二次开发批量替换组件功能(装配环境)
  • 【Open3D】基础操作之三维数据结构的高效组织和管理
  • 【FreeRTOS】任务间通讯3:互斥量- Mutex
  • ctrl+alt+方向键导致屏幕旋转的解决方法
  • 基于双块轻量级神经网络的无人机拍摄的风力涡轮机图像去雾方法
  • No time to train! Training-Free Reference-Based Instance Segmentation之论文阅读
  • 机场风云:AI 云厂商的暗战,广告大战一触即发
  • 【实战】Dify从0到100进阶--中药科普助手(2)
  • 用browse实现菜单功能的方法
  • 快速上手 Ollama:强大的开源语言模型框架
  • Docker的安装使用以及常见的网络问题
  • 数据库恢复技术:保障数据安全的关键
  • DeepSeek辅助编写的带缓存检查的数据库查询缓存系统
  • Odoo 18 → Odoo 19 功能改动对比表
  • 基于Web的交互式坐标系变换矩阵计算工具
  • 时间复杂度计算(以for循环为例)
  • BBH详解:面向大模型的高阶推理评估基准与数据集分析
  • 轻松实现浏览器自动化——AI浏览器自动化框架Stagehand
  • 力扣 hot100 Day69
  • 使用 PicGo 与 GitHub 搭建高效图床,并结合 Local Images Plus 备份原图
  • 杂谈 001 · VScode / Copilot 25.08 更新
  • 供电架构之供电构型分类