一、Seaborn 简介
今天我学习的Seaborn 是一个建立在 Matplotlib 基础之上的 Python 数据可视化库,它专注于绘制各种统计图形,能让用户更轻松地呈现和理解数据。其设计目标是简化统计数据可视化过程,提供了高级接口和美观的默认主题,使用户通过少量代码就能实现复杂图形的绘制。
二、Seaborn 的安装与导入
(一)安装方法
- 使用 pip 安装:
pip install seaborn
- 使用 conda 安装:
conda install seaborn
(可使用清华源:Simple Index ,能提高安装速度)
(二)导入方法
python
运行
import seaborn as sns
sns.set_theme() # 可选择不同的主题和模板
(三)主题设置
sns.set_theme()
可以选择不同的主题和模板,格式为sns.set_theme(style="whitegrid", context="paper")
。
- style 参数取值
style 取值 说明 darkgrid(默认) 深色网格主题 whitegrid 浅色网格主题 dark 深色主题,没有网格 white 浅色主题,没有网格 ticks 深色主题,带有刻度标记 - context 参数取值
context 取值 说明 paper 适用于小图,具有较小的标签和线条 notebook(默认) 适用于笔记本电脑和类似环境,具有中等大小的标签和线条 talk 适用于演讲幻灯片,具有大尺寸的标签和线条 poster 适用于海报,具有非常大的标签和线条
三、常用绘图函数及示例
(一)散点图(sns.scatterplot ())
用于绘制两个变量之间的散点图,可选择添加趋势线。
(二)折线图(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()
(三)柱形图(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()
(四)箱线图(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()
(五)热图(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()
(六)小提琴图(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()
通过对 Seaborn 的学习,我们可以利用这些强大的绘图功能,更直观、清晰地展示数据特征和规律,为数据的分析和解读提供有力支持。在实际应用中,可根据具体的数据类型和分析需求,选择合适的图形进行绘制。