深入 Seaborn:Python 数据可视化进阶
一、散点图矩阵
Seaborn 的 pairplot 函数可以创建一个散点图矩阵,用来展示多个变量间的关系。散点图矩阵中的每个子图展示了数据集中两个变量的关系。
下面的例子展示了如何使用 pairplot 创建散点图矩阵:
import seaborn as sns import matplotlib.pyplot as plt from sklearn.datasets import load_iris # 加载 iris 数据集 iris = load_iris() data = iris.data feature_names = iris.feature_names # 创建 DataFrame df = pd.DataFrame(data, columns=feature_names) # 创建散点图矩阵 sns.pairplot(df) # 显示图形 plt.show()
二、箱线图和小提琴图
箱线图是一种用于展示数据分布的统计图形,它可以显示数据的最大值、最小值、中位数、第一四分位数和第三四分位数。
小提琴图是箱线图的变体,除了显示与箱线图相同的统计信息外,还添加了 KDE(Kernel Density Estimation)曲线,使得我们可以看到数据的分布情况。
下面的例子展示了如何使用 Seaborn 创建箱线图和小提琴图:
# 创建箱线图 sns.boxplot(x="species", y="sepal length (cm)", data=df) # 创建小提琴图 sns.violinplot(x="species", y="sepal length (cm)", data=df)
三、绘制多个子图
Seaborn 还提供了 FacetGrid 类,用于创建多个子图。FacetGrid 可以根据数据的一个或多个特性创建子图,使得我们可以在不同的子图中比较这些特性。
下面的例子展示了如何使用 FacetGrid 创建子图:
# 创建 FacetGrid g = sns.FacetGrid(df, col="species") # 在每个子图中绘制直方图 g.map(sns.histplot, "sepal length (cm)")
四、结论
在这篇文章中,我们进一步探讨了 Seaborn 的中级使用,包括如何创建散点图矩阵、箱线图、小提琴图,以及如何使用 FacetGrid 创建多个子图。这些工具都是 Seaborn 提供的强大功能,可以