使用 Pandas DataFrame 创建饼图

Luqman Khan 2023年1月30日 2022年5月16日
  1. 使用 Pandas DataFrame 创建一个简单的饼图
  2. 使用 Pandas DataFrame 创建百分比饼图
  3. 使用 Pandas DataFrame 创建带颜色的饼图
  4. 使用 Pandas DataFrame 创建具有爆炸效果的饼图
  5. 使用 Pandas DataFrame 创建具有阴影效果的饼图
  6. 使用 Pandas DataFrame 创建具有起始角度的饼图
  7. 结论
使用 Pandas DataFrame 创建饼图

饼图表示圆形图中的数据,通常用于研究、工业和商业。

饼图段代表数据的相对强度并用作其图形表示。饼图需要一个类别列表和数值变量。

馅饼的总价值总是 100%。

本文将介绍 Python Pandas 库如何使用 DataFrame 创建饼图。

使用 Pandas DataFrame 创建一个简单的饼图

在创建 DataFrame 并将其保存在变量 data_frame 之前,我们必须首先导入 Pandas 库。此 DataFrame 包含两列:一列用于每个学生的姓名,另一列用于每个学生的投票数。

import pandas as pd

现在,data_frame 变量存储两列的数据。

data_frame = pd.DataFrame({'Name': ['John', 'John', 'John',
                                    'Jhon', 'John', 'Arapa',
                                    'Arapa', 'Arapa', 'Arapa', 'Arapa',
                                    'Harry', 'Harry', 'Harry',
                                    'Harry', 'Harry'],
                          'each_class_vote': [22, 12, 10, 18, 20,
                                            17, 16, 13, 12, 14,
                                            22, 19, 11, 19, 18]})
data_frame

输出:

     Name    No_of_vote
0    John    22
1    John    12
2    John    10
3    Jhon    18
4    John    20
5    Arapa   17
6    Arapa   16
7    Arapa   13
8    Arapa   12
9    Arapa   14
10   Harry   22
11   Harry   19
12   Harry   11
13   Harry   19
14   Harry   18

我们将使用带有属性 kindplot() 函数绘制上述 data_frame 的饼图。

data_frame.groupby(['Name']).sum().plot(kind='pie', y='No_of_vote')

输出:

简单的饼图

使用 Pandas DataFrame 创建百分比饼图

要添加另一个属性,请使用 autopct 及其值。此属性将百分比添加到饼图。

data_frame.groupby(['Name']).sum().plot(
    kind='pie', y='No_of_vote', autopct='%1.0f%%')

带百分比的饼图

使用 Pandas DataFrame 创建带颜色的饼图

要在饼图中添加属性颜色,我们设置颜色列表。

语法:

plot(kind='pie', colors)

创建一个变量 colors 并使用颜色名称分配颜色列表。

colors = ['pink', 'silver', 'steelblue', 'blue']
data_frame.groupby(['Name']).sum().plot(
    kind='pie', y='No_of_vote',
    autopct='%1.0f%%', colors=colors)

输出:

带有定义颜色值的饼图

上面的输出显示颜色列表根据学生的姓名设置了 4 种颜色。

使用 Pandas DataFrame 创建具有爆炸效果的饼图

分解饼图的过程是将其拆分为多个部分。为此,我们使用 explode 属性并将其分配给适当的值。

plot(kind='pie', explode)

创建一个名为 explode 的变量并将比率分配给它。

explode = (0.05, 0.05, 0.05,0.05)
data_frame.groupby(['Name']).sum().plot(
    kind='pie', y='No_of_vote', autopct='%1.0f%%',
    colors=colors, explode=explode)

输出:

具有爆炸属性的饼图

使用 Pandas DataFrame 创建具有阴影效果的饼图

使用值为 True 的阴影属性在饼图中添加阴影效果。这为饼图增加了一个额外的维度。

plot(kind='pie', shadow=True)
data_frame.groupby(['Name']).sum().plot(
    kind='pie', y='No_of_vote', autopct='%1.0f%%', shadow=True)

输出:

带阴影效果的饼图

使用 Pandas DataFrame 创建具有起始角度的饼图

如果我们想将饼图旋转到不同的角度,请使用此属性及其适当的值。

语法:

plot(kind='pie', startangle)

将图表旋转 90 度

data_frame.groupby(['Name']).sum().plot(
    kind='pie', y='votes_of_each_class', autopct='%1.0f%%', startangle=60)

带起始角的饼图

结论

在上面的文章中,首先,我们创建具有 2 列的 DataFrame,然后使用 Pandas 模块的 plot() 函数绘制饼图。之后,我们对饼图应用了不同的属性和效果。

相关文章 - Pandas DataFrame