📌  相关文章
📜  如何在Python中使用 Seaborn 制作带有数据点的箱线图?

📅  最后修改于: 2022-05-13 01:54:26.206000             🧑  作者: Mango

如何在Python中使用 Seaborn 制作带有数据点的箱线图?

先决条件:

  • 海伯恩
  • Matplotlib

箱线图或胡须图是一种以图形方式可视化的统计图,通过四分位数描述一组数值数据。此图显示包含五个值(称为最小值、四分位数 1、四分位数 2 或中位数、四分位数 3 和最大值)的数据集的摘要,其中框从第一个四分位数绘制到第三个四分位数。

通用箱线图主要侧重于上述五个元素,为用户提供基于四分位数的数据解释,但也可以在箱线图本身上显示数据点,从而提供更多信息。对于这个 seaborn 配备了 stripplot()函数,我们所要做的就是在 boxplot()函数之后调用它并使用适当的参数来生成带有数据点的箱线图。

条形图是单独绘制的。在显示所有观察结果以及底层分布的一些表示的情况下,它是对箱线图或小提琴图的一个很好的补充。它用于根据类别绘制散点图。

方法:

  • 导入库
  • 创建或加载数据集。
  • 使用 boxplot() 绘制箱线图。
  • 使用 stripplot() 添加数据点。
  • 显示图。

下面给出了一些实现,以帮助您更好地理解

示例 1:用于比较的常规箱线图

Python
# importing library
import seaborn as sns
import matplotlib.pyplot as plt
  
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# display plot
plt.show()


Python
# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata)
# display plot
plt.show()


Python
# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata, color="grey")
# display plot
plt.show()


Python
# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
tdata = tdata.head(10)
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata, color="grey", size=8)
# display plot
plt.show()


Python
# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
tdata = tdata.head(20)
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata, color="black", size=8, alpha=0.5)
# display plot
plt.show()


输出:

示例 2:使用数据点创建箱线图

Python

# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata)
# display plot
plt.show()

输出:

示例 3:带有非默认颜色数据点的箱线图

Python

# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata, color="grey")
# display plot
plt.show()

输出:

示例 4:更改数据点的大小

Python

# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
tdata = tdata.head(10)
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata, color="grey", size=8)
# display plot
plt.show()

输出:

示例 5:绘制透明数据点

Python

# importing library
import seaborn as sns
import matplotlib.pyplot as plt
# loading seaborn dataset tips
tdata = sns.load_dataset('tips')
  
tdata = tdata.head(20)
# creating boxplot
sns.boxplot(x='size', y='tip', data=tdata)
  
# adding data points
sns.stripplot(x='size', y='tip', data=tdata, color="black", size=8, alpha=0.5)
# display plot
plt.show()

输出: