📅  最后修改于: 2023-12-03 14:52:34.286000             🧑  作者: Mango
Seaborn 是一个基于 Matplotlib 的可视化库,能够快速绘制统计图形。在 Seaborn 中,子图是一种常见的可视化方式,用于将多个图形排列在一个图中,以便比较和分析数据。本文将介绍如何在 Seaborn 中创建子图。
首先,我们需要导入 Seaborn 库和一个数据集。本文使用 Seaborn 中自带的“tips”数据集,它包含餐厅顾客的小费和账单信息。
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
要创建子图,我们需要配置画布和子图。在 Seaborn 中,我们可以使用 subplots()
函数设置子图。
fig, axs = plt.subplots(nrows=2, ncols=2)
这将创建一个 2x2 的子图,其中 nrows
和 ncols
分别指定了行数和列数。我们可以在这个画布上绘制多个图形,每个图形都对应一个子图。
现在,我们可以在子图中绘制图形。在 Seaborn 中,我们可以使用各种图形类型,包括散点图、折线图、柱状图等等。这里,我们将绘制一个散点图,并将其放置在第一个子图中。
sns.scatterplot(ax=axs[0, 0], x="total_bill", y="tip", data=tips)
此处的 ax
参数指定了我们要在哪个子图中绘制图形。具体而言,axs[0, 0]
指定了第一个子图。
接下来,我们在其他子图中分别绘制不同的图形。
sns.barplot(ax=axs[0, 1], x="sex", y="total_bill", data=tips)
sns.boxplot(ax=axs[1, 0], x="day", y="total_bill", data=tips)
sns.histplot(ax=axs[1, 1], x="tip", data=tips)
最后,我们需要使用 plt.show()
函数显示图形。
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
fig, axs = plt.subplots(nrows=2, ncols=2)
sns.scatterplot(ax=axs[0, 0], x="total_bill", y="tip", data=tips)
sns.barplot(ax=axs[0, 1], x="sex", y="total_bill", data=tips)
sns.boxplot(ax=axs[1, 0], x="day", y="total_bill", data=tips)
sns.histplot(ax=axs[1, 1], x="tip", data=tips)
plt.show()
在 Seaborn 中创建子图是一件非常简单的事情,只需使用 subplots()
函数设置画布和子图,然后在每个子图中绘制相应的图形即可。通过这种方式,我们可以在一个图中比较和分析多个数据集,从而更好地理解和解释数据。