什么是 Seaborn 以及为什么需要它
Seaborn — 是一个基于 Matplotlib 构建的强大的 Python 数据可视化库。它提供了一个高级接口,用于创建美观且信息丰富的统计图表。该库旨在简化数据分析与机器学习中常用可视化的创建过程。
Seaborn 的主要优势:
用最少的代码自动创建时尚图表 与 pandas DataFrame 的出色集成 内置的统计可视化函数 轻松处理分类和数值数据 自动计算并显示统计指标 支持现代配色方案和样式
库的历史与发展
Seaborn 由 Michael Waskom 于 2012 年创建,作为 Matplotlib 的补充。该库的名称来源于电视剧《白宫风云》,其中一位角色姓 Seaborn。该库正在积极开发并定期更新,添加新功能并改进现有功能。
安装与配置 Seaborn
通过 pip 安装
pip install seaborn通过 conda 安装
conda install seaborn在代码中导入
import seaborn as snsimport matplotlib.pyplot as pltimport pandas as pdimport numpy as np检查版本
print(sns.__version__)Seaborn 与 Matplotlib 的主要区别
| 特性 | Matplotlib | Seaborn |
|---|---|---|
| 默认视觉样式 | 简单,基础 | 现代,风格化 |
| 与 DataFrame 的协作 | 支持有限 | 原生集成 |
| 构建统计图表 | 需要大量代码 | 自动化 |
| 配色方案 | 基础 | 多样且现代 |
| 统计函数 | 缺失 | 内置 |
| 图例与注释 | 手动设置 | 自动创建 |
| 数据分组 | 实现复杂 | 参数简单 |
架构与工作原理
Seaborn 使用“图形语法” — 一种将可视化构建为独立组件的概念:数据、美学元素、几何对象和统计变换。这使得可以通过组合简单元素来创建复杂的可视化。
在 Seaborn 中处理数据
内置数据集
Seaborn 包含许多现成的数据集,用于学习和实验:
# 加载流行数据集df = sns.load_dataset("tips")print(df.head())
# 查看所有可用数据集print(sns.get_dataset_names())数据准备
# 创建自定义数据集的示例import numpy as npimport pandas as pd
data = { 'x': np.random.randn(100), 'y': np.random.randn(100), 'category': np.random.choice(['A', 'B', 'C'], 100)}df = pd.DataFrame(data)Seaborn 中的主要图表类型
分布可视化
直方图与分布图
# 创建直方图的现代方法sns.histplot(df["total_bill"], bins=20, kde=True)plt.title("账单总额分布")plt.show()
# 密度图sns.kdeplot(df["total_bill"], shade=True)plt.show()