Python 如何使用Seaborn制作箱线图和数据点

Python 如何使用Seaborn制作箱线图和数据点

箱线图是一种强大的数据集分布摘要可视化工具,提供重要的统计参数,包括中位数、四分位数和可能的异常值。然而,传统的箱线图仅提供摘要统计数据,因此可能无法完整地呈现数据。

本文将学习如何使用Seaborn在Python中制作带有数据点的箱线图。Seaborn是一个基于matplotlib的受欢迎的数据可视化库,提供了一个复杂的界面来生成美观的统计可视化图。我们可以利用Seaborn和Matplotlib的功能创建具有重叠数据点的箱线图,以便对数据集进行更深入的分析。

多种方法

要在Python中使用Seaborn制作带有数据点的箱线图,我们可以采用两种方法:

  • 通过在箱线图上添加数据点。
  • 利用Swarmplot与箱线图。

让我们研究这两种方法:

方法1:通过在箱线图上添加数据点

通过在标准箱线图上添加单独的数据点,可以改进它们。通过可视化单个数据点和摘要统计信息,我们可以更好地理解数据集的分布。通过这种方法,我们可以检查数据中的异常值和模式,以获得深入的洞察。

步骤

步骤如下:

步骤1 :导入seaborn和matplotlib.pyplot。

步骤2 :准备或加载数据集。

步骤3 :使用seaborn.boxplot()函数以及数据集和所需的设置创建一个箱线图。

步骤4 :从箱线图中选择Axes项。

步骤5 :通过使用matplotlib.pyplot.scatter()方法遍历数据集,并绘制每个数据点。

步骤6 :根据需要调整箱线图和数据点的外观。

步骤7 :使用matplotlib.pyplot.show()显示绘图。

示例

#import the required modules
import seaborn as sns
import matplotlib.pyplot as plt

# The dataset are Loaded and generated
data = [10, 15, 20, 22, 25, 30, 32, 35, 40, 45, 50]

# Construct a boxplot
sns.boxplot(data=data)

# The Axes object is retrieved the Axes object
ax = plt.gca()

# Data points
for i, point in enumerate(data):
   plt.scatter(i, point, color='red', alpha=0.5)

# Customize appearance
ax.set_xticklabels([])  # Hide x-axis labels (optional)
plt.xlabel('Data')
plt.ylabel('Values')

# Display the plot
plt.show()

输出

Python 如何使用Seaborn制作箱线图和数据点

方法2:利用Swarmplot与Boxplots。

在这种方法中,我们同时使用Swarmplot和Boxplot来产生一个全面的可视化。Swarmplot将每个数据点排列在一起,使得数据集的显示更清晰。通过在Swarmplot上叠加一个Boxplot,我们可以同时查看个体数据点和总结统计信息,从而更全面地研究数据。当处理较大的数据集时,如果重叠的数据点可能掩盖模式和趋势,这种方法尤其有用。

步骤

具体步骤如下:

第1步 - 导入seaborn和matplotlib.pyplot。

第2步 - 创建或加载您的数据集。

第3步 - 使用seaborn.swarmplot()函数构建一个Swarmplot,提供数据集和所需的设置。

第4步 - 根据需要修改Swarmplot的外观。

第5步 - 使用seaborn.boxplot()函数,您可以在Swarmplot上叠加一个Boxplot。

第6步 - 根据需要修改Boxplot的外观。

第7步 - 使用matplotlib.pyplot.show()显示绘图。

示例

#import the required modules
import seaborn as sns
import matplotlib.pyplot as plt

# The dataset is Loaded and generated
data = [10, 15, 20, 22, 25, 30, 32, 35, 40, 45, 50]

# Build a swarmplot
sns.swarmplot(data=data, color='grey')

# Customize the appearance of swarmplot
plt.xlabel('Data')
plt.ylabel('Values')

# Overlay a boxplot
sns.boxplot(data=data, width=0.2, color='white')

# Customize the appearance of the boxplot
plt.ylim(0, 60)
# Show the plot
plt.show()

输出

Python 如何使用Seaborn制作箱线图和数据点

结论

在本文中,我们使用Seaborn包介绍了两种在Python中制作盒图的方法。第二种方法使用了Swarmplot与Boxplots相结合。我们通过包含个体数据点来改进可视化效果,这使得我们可以更深入地查看数据集的分布情况。为了处理更大的数据集,我们学习了如何将swarmplot与boxplot组合以及如何将数据点叠加在boxplot上。由于Seaborn与Matplotlib的接口,这些图形可以进行高度定制以满足您的独特需求。这些方法使您能够通过可视化获得有见地的信息,并有说服力地呈现您的发现。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程