Python SNS Boxplot 更改四分位
在数据分析领域,箱线图(Boxplot)是一种常用的统计图表,用于展示数据的分布情况和离群值。而在 Python 中,我们可以使用 Seaborn 库(简称 SNS)来绘制箱线图。
在箱线图中,通常会包含四个四分位数,分别是最小值、第一四分位数(Q1)、中位数(Q2)、第三四分位数(Q3)和最大值。在本文中,我们将介绍如何通过更改这些四分位数来定制自己的箱线图。
安装 Seaborn 库
首先,我们需要安装 Seaborn 库。如果你还没有安装的话,可以通过以下命令来安装:
pip install seaborn
绘制默认箱线图
首先,我们来绘制一个默认的箱线图,使用 Seaborn 库中的 boxplot
函数。我们先生成一组随机数据,然后绘制箱线图:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
data = np.random.normal(loc=0, scale=1, size=100)
sns.boxplot(data=data)
plt.show()
运行以上代码,我们可以看到生成的默认箱线图,其中包含了最小值、Q1、Q2、Q3 和最大值。
更改四分位数
有时候,我们希望在箱线图中展示其他的四分位数,比如第 10 分位数、第 90 分位数等。这时,我们可以通过更改 whis
参数来实现。
sns.boxplot(data=data, whis=[10, 90])
plt.show()
通过设置 whis
参数为 [10, 90]
,我们可以将箱线图中的四分位数更改为第 10 分位数和第 90 分位数。
定制四分位范围
除了更改特定的四分位数外,有时候我们还希望自定义四分位范围。在 Seaborn 中,我们可以通过 whis
参数来指定四分位范围的倍数。
sns.boxplot(data=data, whis=1.5)
plt.show()
在上面的示例中,我们通过设置 whis
参数为 1.5
,将四分位范围定义为 1.5 倍的 IQR(Q3 – Q1)。这样可以帮助我们更好地识别离群值。
在分类数据中使用四分位数
除了数值数据外,我们还可以在分类数据中使用四分位数。比如,我们有一个包含多个组的数据集,可以通过 hue
参数来指定分类。
import pandas as pd
df = pd.DataFrame({
'group': ['A', 'A', 'B', 'B'],
'value': [1, 2, 3, 4]
})
sns.boxplot(x='group', y='value', data=df)
plt.show()
运行以上代码,我们可以看到分类数据中各组的箱线图。通过设置 hue
参数,我们可以在箱线图中展示不同组的四分位数。
通过本文的介绍,我们了解了如何使用 Seaborn 库绘制箱线图,并通过更改四分位数来定制箱线图的显示。