如何在 Seaborn 中创建饼图?

seabornpythondata visualization

数据可视化中最常用的图形类型之一是饼图。饼图是一种圆形图表,被分成多个部分来表示数据集中不同类别的比例。

Seaborn 是一个 Python 数据可视化库,它建立在 Matplotlib 之上,Matplotlib 是另一个流行的 Python 可视化库。Seaborn 提供了一个用于创建各种统计图形的高级接口,并且可以生成比 Matplotlib 更复杂、更美观的可视化效果。

Matplotlib 是一个用于在 Python 中创建基本图形和图表的低级库。它提供了创建更复杂可视化的构建块,但需要比 Seaborn 更多的代码来生成可视化效果。Seaborn 通过提供一组默认主题和美学简化了创建复杂可视化的过程。

Seaborn 提供了一组函数,用于创建各种类型的统计图,例如散点图、线图和条形图。它还提供了用于创建更专业类型的图的函数,例如热图、小提琴图和因子图。这些图旨在突出显示数据中的关系和模式。

以下是使用 Python 安装 Seaborn 和 Matplotlib 的步骤 -

  • 打开命令提示符或终端窗口。

  • 通过键入以下命令检查您的系统上是否安装了 Python:python --version

    如果安装了 Python,则会显示版本号。如果未安装 Python,请从官方网站下载并安装 Python。

  • 使用 pip 安装 Seaborn,输入以下命令:"pip3 install seaborn"

  • 使用 pip 安装 Matplotlib,输入以下命令:"pip3 install matplotlib"

现在让我们关注示例。

示例

考虑下面显示的代码。

# 导入库
import matplotlib.pyplot as plt
import seaborn as sns

# 声明数据

# 示例数据,用您自己的数据替换
data = [76, 84, 62, 93, 79]

# 数据标签,用您自己的数据替换
keys = ['Class A', 'Class B', 'Class C', 'Class D', 'Class E']

# 在图表上绘制数据
plt.pie(data, labels=keys, autopct='%.0f%%')

# 为图表添加标题
plt.title('不同类别的成绩分布')

# 显示图表
plt.show()

解释

  • 我们声明 data 变量,其中包含每个类别的值列表,以及 keys 变量,其中包含每个类别的标签。

  • 我们使用 seaborn.color_palette() 函数定义用于图表的调色板。

  • 我们使用 plt.pie() 函数在图表上绘制数据。我们传入 datakeyscoloursautopct 参数来自定义图表的外观。autopct 参数会格式化图表上显示的百分比。

  • 我们使用 plt.title() 函数为图表添加标题。

  • 我们使用 plt.show() 函数显示图表。

输出

执行此代码后,将弹出一个新窗口,其中包含我们的饼图。

示例

让我们再举一个例子来更好地理解它的工作原理。考虑下面显示的代码。

# 导入库
import matplotlib.pyplot as plt
import seaborn as sns

# 声明数据

# 样本数据,用您自己的数据替换
data = [60, 25, 35, 45, 55]

# 数据标签,用您自己的数据替换
keys = ['Category A', 'Category B', 'Category C', 'Category D', 'Category E']

# 声明爆炸饼图
explode = [0.1, 0, 0, 0, 0.1]

# 定义要使用的 Seaborn 调色板
palette_color = sns.color_palette('dark')

# 在图表上绘制数据
plt.pie(data, labels=keys, colors=palette_color,
explode=explode, autopct='%.0f%%')

# 为图表添加标题
plt.title('不同类别的项目分布')

# 显示图表
plt.show()

解释

  • 我们已更新 data 变量,以包含每个类别的一组新值。您可以将其替换为自己的数值。

  • 我们已更新 keys 变量,以包含每个类别的新标签。您可以将其替换为自己的数值。

  • 我们已声明一个explode变量,它指定饼图的每个切片的爆炸程度。在此示例中,我们已爆炸第一个和最后一个切片。您可以根据需要对其进行修改。

  • 我们已更新 Seaborn 调色板,以使用深色配色方案。如果您愿意,可以选择其他调色板。

  • 我们使用 plt.title() 函数为图表添加了标题。

  • 我们使用 plt.show() 函数显示了图表。

输出

运行此代码后,将弹出一个新窗口,其中包含我们的饼图。

结论

总之,使用 Seaborn 和 Matplotlib 创建饼图是一个简单的过程,只需几个步骤即可完成。通过导入必要的库、声明数据和定义调色板,您可以轻松绘制一个显示不同类别值分布的饼图。


相关文章