Matplotlib 如何将两个countplot图并列绘制

Matplotlib 如何将两个countplot图并列绘制

阅读更多:Matplotlib 教程

介绍

Matplotlib是一个Python绘图库,可帮助数据科学家和数据分析师创建具有吸引力的图形。本文将讨论如何使用Matplotlib将两个countplot图并列绘制。

准备

我们先导入必要的Python库:

import matplotlib.pyplot as plt
import seaborn as sns
Python

为了说明如何将两个countplot并列绘制,我们创建一个范例数据集。下面的代码将使用Seaborn生成一个tips数据集:

tips = sns.load_dataset("tips")
Python

tips数据集包含用餐信息,例如账单总额、小费和性别。我们将使用此数据集来构建示例countplot。

单个countplot

我们首先创建一个单个countplot,以便我们熟悉countplot的基本语法。我们将绘制每个星期中每天的小费数量。

sns.countplot(x="day", data=tips)
plt.show()
Python

并列countplot

接下来,我们将使用Matplotlib和Seaborn将两个countplot并列绘制。我们将在同一行上绘制两个countplot。我们将使用hue参数来添加另一个分类变量。下面的代码将会绘制每个星期中每天的小费数量,同时将针对性别分类。

g = sns.FacetGrid(data=tips, row='sex', palette='Set2')
g.map_dataframe(sns.countplot, x='day', hue='smoker')
g.set_axis_labels('Day of Week', 'Count')
plt.show()
Python

如您所见,输出结果为两个countplot,一行放置,顶部为男性,底部为女性。这里我们使用FacetGrid函数来创建子图,Map_DataFrame函数用于在子图中显示countplot。设置x、hue、row和palette参数来自定义绘图的外观。

我们可以使用更多的参数来调整每个countplot的外观:

  • palette:调色板。
  • row_order:用于指定每行的变量的顺序。
  • hue_order:用于指定每种颜色的变量的顺序。

下面的代码将使用更多的参数进行更改:

g = sns.FacetGrid(data=tips, row='sex', palette='Set2', row_order=['Male', 'Female'],
                  hue_order=['No', 'Yes'])
g.map_dataframe(sns.countplot, x='day', hue='smoker')
g.set_axis_labels('Day of Week', 'Count')
plt.show()
Python

如您所见,输出结果以男性和女性为行,并使用Set2调色板将No和Yes分类。

总结

在本文中,我们讨论了如何使用Matplotlib和Seaborn将两个countplot并列绘制。通过使用FacetGrid函数,Map_DataFrame和调整函数的参数,我们可以创建独特的、自定义的图形。我希望这篇文章解释清楚了如何绘制并列的countplot。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册