工作任务:要绘制下面表格中月活用户占比的分裂饼形图
在deepseek中输入提示词:
你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下:
读取Excel文件"F:\AI自媒体内容\AI行业数据分析\poetop50bots中文翻译.xlsx",
用matplotlib绘制一个分裂饼形图:
从A列“热门bot名称”中提取数据作为标签,用于饼图的各个扇区;
E列“月活用户占比”中提取数据作为大小,用于计算饼图的各个扇区的比例。
定义一个颜色列表,包含50种不同的颜色,用于设置饼图各个扇区的颜色,相邻的两个扇区颜色差异要大。
设置扇形标签与圆心的距离为:1.02
设置扇区百分比的显示格式为百分数%,保留3位小数;
设置饼图的初始绘制角度为90度。
设置饼图的半径为:0.5
设置饼图的中心位置为: (0.2,0.2)
设置百分比标签与圆心的距离:0.6
设置分裂饼图,使得A列“热门bot名称”前5列的扇区突出
确保x轴和y轴的刻度一致,从而使饼图保持圆形。
设置图表的标题为“Poe平台前50个bots月活用户占比分析”。
设置matplotlib默认字体为'SimHei',文件路径为:C:\Windows\Fonts\simhei.ttf
保存图片到文件夹“F:\AI自媒体内容\AI行业数据分析”,图片标题为:poetop50bots;
显示图片;
注意:每一步都输出信息到屏幕
要导入numpy库;
源代码:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 设置matplotlib默认字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 读取Excel文件
file_path = r"F:\AI自媒体内容\AI行业数据分析\poetop50bots中文翻译.xlsx"
df = pd.read_excel(file_path)
# 从A列“热门bot名称”中提取数据作为标签
labels = df['热门bot名称']
# 从E列“月活用户占比”中提取数据作为大小
sizes = df['月活用户占比']
# 定义一个颜色列表,包含50种不同的颜色
colors = plt.cm.rainbow(np.linspace(0, 1, len(labels)))
# 设置饼图的初始绘制角度为90度
explode = [0.1]*5 + [0]*45
# 绘制饼形图
fig, ax = plt.subplots()
ax.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.3f%%',
startangle=90, radius=0.5, pctdistance=0.6, labeldistance=1.02)
# 设置饼图的中心位置为: (0.2,0.2)
ax.set_xlim(-0.5, 0.5)
ax.set_ylim(-0.5, 0.5)
# 设置图表的标题
ax.set_title('Poe平台前50个bots月活用户占比分析')
# 确保x轴和y轴的刻度一致,从而使饼图保持圆形
ax.axis('equal')
# 保存图片到文件夹
plt.savefig(r"F:\AI自媒体内容\AI行业数据分析\poetop50bots.png")
# 显示图片
plt.show()