使用 Pandas DataFrame 创建饼图
Luqman Khan
2023年1月30日
2022年5月16日
- 使用 Pandas DataFrame 创建一个简单的饼图
- 使用 Pandas DataFrame 创建百分比饼图
- 使用 Pandas DataFrame 创建带颜色的饼图
- 使用 Pandas DataFrame 创建具有爆炸效果的饼图
- 使用 Pandas DataFrame 创建具有阴影效果的饼图
- 使用 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
我们将使用带有属性 kind
的 plot()
函数绘制上述 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()
函数绘制饼图。之后,我们对饼图应用了不同的属性和效果。