1. 准备数据
首先,需要准备一个DataFrame。
import pandas as pd
# 创建一个DataFrame
data = {
'Category': ['A', 'B', 'C', 'D'],
'Value': [15, 30, 45, 10]
}
df = pd.DataFrame(data)
print(df)
输出:
Category Value
0 A 15
1 B 30
2 C 45
3 D 10
2. 绘制简单饼图
可以使用plot
方法来绘制饼图。默认情况下,plot
方法会绘制折线图,需要指定kind='pie'
来绘制饼图。
import matplotlib.pyplot as plt
# 绘制Value列的饼图
df['Value'].plot(kind='pie', labels=df['Category'], autopct='%1.1f%%')
plt.title('Pie Chart of Value by Category')
plt.ylabel('') # 去掉默认的y轴标签
plt.show()
3. 自定义饼图
可以通过Matplotlib的API来自定义饼图的样式和标签。
# 自定义饼图
fig, ax = plt.subplots()
ax.pie(df['Value'], labels=df['Category'], autopct='%1.1f%%', startangle=90, colors=['skyblue', 'lightgreen', 'lightcoral', 'lightyellow'])
ax.axis('equal') # 确保饼图是圆的
plt.title('Customized Pie Chart of Value by Category')
plt.show()
4. 绘制多列饼图
如果想绘制多列的饼图,可以将DataFrame传递给plot
方法,并指定kind='pie'
。
# 创建一个包含多列数据的DataFrame
data_multi = {
'Category': ['A', 'B', 'C', 'D'],
'Value1': [15, 30, 45, 10],
'Value2': [20, 25, 35, 20]
}
df_multi = pd.DataFrame(data_multi)
print(df_multi)
# 绘制多列饼图
df_multi.set_index('Category').plot(kind='pie', subplots=True, autopct='%1.1f%%', legend=False)
plt.title('Pie Charts of Multiple Values by Category')
plt.show()