目录
饼图常用于展示同一级别中不同类别的占比情况。在python中使用matplotlib模块中的pie()函数可以制作饼图。
饼图数据下载:https://download.csdn.net/download/weixin_44940488/19231382
1、饼图绘制
# 导入库
import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
# 导入数据表并设置字体格式
df = pd.read_excel('饼图.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 设置X轴、Y轴数据
x = df['产品名称']
y = df['销售额']
# 绘制饼图
plt.pie(y, labels = x, labeldistance = 1.1, autopct = '%.2f%%', pctdistance = 0.8, startangle = 90, radius = 1.0, explode = [0, 0, 0, 0, 0, 0.3, 0])
# 设置图表标题
plt.title(label = '产品销售额占比图', fontdict = {'color' : 'black', 'size' : 30}, loc = 'center')
# 直接显示图表
# plt.show()
# 将图表保存到Excel中
app = xw.App(visible = False)
workbook = app.books.open('饼图.xlsx')
worksheet = workbook.sheets[0]
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save()
workbook.close()
app.quit()
绘制饼图参数说明:
2、圆环图绘制
wedgeprops = {'width' : 0.3, 'linewidth' : 2, 'edgecolor' : 'white'}
参数wedgeprops用于设置饼图块的属性,取值为一个字典,字典中的元素则是饼图块的各个属性值。这行代码就是绘制圆环图的代码,意思是设置饼图块的宽度为0.3,边框粗细为2,边框颜色为白色。完整代码如下:
# 导入库
import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
# 导入数据表并设置字体格式
df = pd.read_excel('饼图.xlsx')
figure = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 设置X轴、Y轴数据
x = df['产品名称']
y = df['销售额']
# 绘制圆环图并设置图表标题
plt.pie(y, labels = x, autopct = '%.2f%%', pctdistance = 0.85, radius = 1.0, labeldistance = 1.1, wedgeprops = {'width' : 0.3, 'linewidth' : 2, 'edgecolor' : 'white'})
plt.title(label = '产品销售额占比图', fontdict = {'color' : 'black', 'size' : 30}, loc = 'center')
# plt.show()
# 将图表保存到Excel中
app = xw.App(visible = False)
workbook = app.books.open('饼图.xlsx')
worksheet = workbook.sheets[0]
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save()
workbook.close()
app.quit()