当前位置: 首页 > 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.lryc.cn/news/613792.html

相关文章:

  • LINUX-用户及用户组管理
  • 【嵌入式】记录一次网络转串口透传性能提升的过程
  • 【Linux系统】万字解析,文件IO
  • Android 系统的安全 和 三星安全的区别
  • 华为USG防火墙双机,但ISP只给了1个IP, 怎么办?
  • 5. 缓存-Redis
  • 【Android笔记】Android 自定义 TextView 实现垂直渐变字体颜色(支持 XML 配置)
  • 考研复习-计算机组成原理-第四章-指令系统
  • wstool和git submodule优劣势对比
  • WinForm 对话框的 Show 与 ShowDialog:阻塞与非阻塞的抉择
  • qt中实现QListWidget列表
  • GUI:QT简介
  • C# GUI程序中的异步操作:解决界面卡顿的关键技术
  • 频谱图学习笔记
  • HTTP 请求返回状态码和具体含义?200、400、403、404、502、503、504等
  • Docker搭建Jenkins实现自动部署:快速高效的持续集成之道!
  • 五十五、【Linux系统nginx服务】nginx安装、用户认证、https实现
  • 芯伯乐XBL6019 60V/5A DC-DC升压芯片的优质选择
  • 查看泰山派 ov5695研究(1)
  • 【重磅发布】flutter_chen_keyboard -专注于键盘相关功能
  • MFC扩展库BCGControlBar Pro v36.2:MSAA和CodedUI测试升级
  • Kotlin 数据容器 - MutableList(MutableList 概述、MutableList 增删改查、MutableList 遍历元素)
  • 【Qt开发】常用控件(二) -> enabled
  • 日本站群服务器与普通日本服务器对比
  • 服务器硬件电路设计之I2C问答(一):为什么I2C总线要加上拉电阻?
  • 汉明码:从原理到实现的深度解析
  • UniApp Vue3 TypeScript项目中使用xgplayer播放m3u8视频的显示问题
  • Emacs 折腾日记(二十九)—— 打造C++ IDE
  • 机柜内部除了服务器还有哪些组件?
  • 微软发布Project Ire项目:可自主检测恶意软件的人工智能系统