欢迎来到 Python 基础入门 Day25!今天我们将深入学习 Python 中强大的可视化库 Seaborn,它在数据分析和可视化领域非常流行,能让你的图表更美观、更专业。
目录
- Seaborn 入门与基本设置
- 分类数据的可视化
- 数值型数据的分布可视化
- 数据关系的可视化
- 小结与练习
一、Seaborn 入门与基本设置
1.1 安装与导入
在使用 Seaborn 之前,确保你已经安装了该库。如果未安装,可以使用以下命令:
pip install seaborn
导入 Seaborn 并加载示例数据集:
import seaborn as sns
import matplotlib.pyplot as plt
# 加载内置数据集
tips = sns.load_dataset("tips") # 餐馆小费数据
print(tips.head())
1.2 设置样式
Seaborn 提供多种样式来美化图表:
sns.set_style("whitegrid") # 可选样式:darkgrid, white, ticks, dark
plt.figure(figsize=(8, 6)) # 设置图表大小
sns.scatterplot(data=tips, x="total_bill", y="tip")
plt.title("Scatterplot of Total Bill vs. Tip")
plt.show()
二、分类数据的可视化
2.1 条形图(Bar Plot)
条形图适用于展示分类变量的均值或总和:
sns.barplot(data=tips, x="day", y="total_bill", hue="sex")
plt.title("Average Total Bill by Day and Gender")
plt.show()
2.2 箱线图(Box Plot)
箱线图用于展示分类变量的分布和异常值:
sns.boxplot(data=tips, x="day", y="total_bill", hue="sex")
plt.title("Total Bill Distribution by Day and Gender")
plt.show()
2.3 小提琴图(Violin Plot)
小提琴图可以展示数据的分布和密度:
sns.violinplot(data=tips, x="day", y="total_bill", hue="sex", split=True)
plt.title("Violin Plot of Total Bill by Day and Gender")
plt.show()
三、数值型数据的分布可视化
3.1 直方图(Histogram)
直方图是用于查看数值数据分布的常用图表:
sns.histplot(data=tips, x="total_bill", kde=True, bins=20)
plt.title("Distribution of Total Bill")
plt.show()
3.2 密度图(KDE Plot)
密度图是直方图的平滑版本:
sns.kdeplot(data=tips, x="total_bill", hue="sex", fill=True)
plt.title("Density Plot of Total Bill by Gender")
plt.show()
3.3 联合分布图(Joint Plot)
联合分布图将两个变量的分布和关系可视化:
sns.jointplot(data=tips, x="total_bill", y="tip", kind="hex")
plt.show()
四、数据关系的可视化
4.1 散点图(Scatter Plot)
散点图用于查看两个变量之间的关系:
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="sex", style="time")
plt.title("Scatter Plot of Total Bill and Tip by Gender")
plt.show()
4.2 成对关系图(Pair Plot)
成对关系图可以同时查看多个变量的两两关系:
sns.pairplot(tips, hue="sex")
plt.show()
4.3 相关矩阵热图(Heatmap)
相关矩阵热图可以显示变量之间的相关性:
corr = tips.corr() # 计算相关矩阵
sns.heatmap(corr, annot=True, cmap="coolwarm", fmt=".2f")
plt.title("Correlation Matrix Heatmap")
plt.show()
五、小结与练习
今日总结:
- 了解了 Seaborn 的基本用法和样式设置。
- 学习了分类数据的可视化方法,包括条形图、箱线图和小提琴图。
- 了解了数值型数据的分布可视化方法,如直方图和密度图。
- 学习了展示数据关系的散点图、成对关系图和热图。
今日练习:
- 使用
tips
数据集,绘制每个性别的每日消费总额的箱线图,并比较分布差异。 - 使用 Seaborn 的
penguins
数据集,绘制多变量成对关系图,展示不同物种的分布差异。 - 使用热图展示
tips
数据集中数值变量的相关性,并分析结果。 - 使用其他数据集(如
iris
或你自己的数据集)进行 Seaborn 可视化练习。
下一节预告:在 Day26 中,我们将学习如何使用 Pandas 和 Seaborn 一起进行数据清洗和探索性数据分析(EDA)。敬请期待!
今天的学习到此结束,期待在明天继续探索更多 Python 的精彩内容!😊