Python Seaborn基础
什么是Seaborn?
Seaborn是基于Matplotlib的Python数据可视化库,提供了更高层次的接口,用于绘制有吸引力且信息丰富的统计图形。它与pandas数据结构紧密集成,内置了多种数据集,并定义了多个绘制多变量数据集关系的函数。
Seaborn的目标是使可视化成为探索和理解数据的核心部分。它的API设计简单明了,使得复杂的可视化任务变得简单,同时生成的图表默认具有美观的外观。
提示
Seaborn不是替代Matplotlib,而是建立在Matplotlib基础上的库,提供更高级的API和默认样式。
安装Seaborn
使用pip安装Seaborn非常简单:
pip install seaborn
导入所需库
在开始使用Seaborn之前,我们需要导入必要的库:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 设置绘图风格
sns.set_theme() # 使用默认主题
Seaborn基本图表类型
1. 分布可视化
直方图和KDE (Kernel Density Estimation)
histplot()
和kdeplot()
函数用于可视化单变量或双变量分布:
# 生成示例数据
data = np.random.normal(size=1000)
# 创建图形
plt.figure(figsize=(10, 6))
# 绘制直方图和KDE
sns.histplot(data, kde=True)
plt.title('直方图和KDE')
plt.show()
这会生成一个包含直方图和KDE曲线的图表,展示数据的分布情况。
箱线图
箱线图用于显示数据分布的几个关键统计量:
# 加载内置数据集
tips = sns.load_dataset("tips")
# 绘制箱线图
plt.figure(figsize=(10, 6))
sns.boxplot(x="day", y="total_bill", data=tips)
plt.title('按天统计账单总额的箱线图')
plt.show()
2. 关系可视化
散点图
使用scatterplot()
函数可视化两个变量之间的关系:
# 绘制散点图
plt.figure(figsize=(10, 6))
sns.scatterplot(x="total_bill", y="tip", data=tips)
plt.title('账单总额与小费关系的散点图')
plt.show()
回归图
regplot()
函数在散点图的基础上增加了回归线:
plt.figure(figsize=(10, 6))
sns.regplot(x="total_bill", y="tip", data=tips)
plt.title('账单总额与小费关系的回归图')
plt.show()