网站首页 > 技术文章 正文
工作任务:要绘制下面表格中月活用户占比的分裂饼形图
在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()
- 上一篇: B-rep 和 隐式建模的基础知识(隐式建模技术)
- 下一篇: 按组绘制多子图(多子图绘图)
猜你喜欢
- 2024-10-14 Python之Matplotlib数据可视化一:简易线形图
- 2024-10-14 圆:circle-sin-cos动画的matplotlib
- 2024-10-14 python 100天 68 利用Python绘制两个波形正弦sin函数相关性
- 2024-10-14 画直线不简单!python-matplotlib告诉你为什么
- 2024-10-14 用Python下一场流星雨,女生看了都哭了
- 2024-10-14 手把手教你使用Numpy、Matplotlib、Scipy等5个Python库
- 2024-10-14 走进Matplotlib世界(一)(matplotlib.org)
- 2024-10-14 Python 数据分析——matplotlib 坐标变换和注释
- 2024-10-14 利用axe对象绘制地图局部缩放图(下面几种建模对象能通过基本实体工具直接绘制的是)
- 2024-10-14 Python动态绘图的方法(上)(canvas python动态绘图)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)