Data-Science-For-Beginners 第 11 课作业实战:在 Excel 中绘制饼图、甜甜圈图与华夫图

发布时间:2026/9/14 7:13:44

Data-Science-For-Beginners 第 11 课作业实战:在 Excel 中绘制饼图、甜甜圈图与华夫图 Data-Science-For-Beginners 第 11 课作业实战在 Excel 中绘制饼图、甜甜圈图与华夫图【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners本篇指南围绕translations/fa/3-Data-Visualization/11-visualization-proportions/assignment.md即第 11 课可视化比例的配套作业展开任务核心是使用你手头的任意数据集在 Excel 电子表格中直接创建饼图Pie、甜甜圈图Donut与华夫图Waffle三种比例可视化图表。文中将以本仓库提供的蘑菇数据集为例完整继承作业指令与评分标准并结合主课文的 Python 实现3-Data-Visualization/11-visualization-proportions/README.md与配套数据集给出可复制、可运行的完整操作方案。读完本篇你将掌握三种比例图的核心思想与在 Excel 中的实现路径并能对照评分标准自查提交质量。一、作业背景第 11 课与蘑菇数据集第 11 课可视化比例Visualizing Proportions的核心内容是使用一份与自然相关的数据集可视化类别占比例如蘑菇数据集中不同种类真菌的数量分布。课程使用的数据集来自 data/mushrooms.csv记录了 Audubon 整理的、隶属于 Agaricus 与 Lepiota 两个科的 23 种菌褶蘑菇的详细特征。对仓库中该 CSV 的实际校验显示数据集共 8124 条记录、23 个特征列class、cap-shape、cap-surface、cap-color、bruises、odor、habitat等全部为文本型取值。主课文先用 Python 完成了三种图表的演示作业则要求你脱离 Python把同样的三类图搬进 Excel。这是一个典型的理解可视化本质后跨工具复现的训练比例可视化的关键并不在于工具而在于先把数据按类别分组再选择最合适的展示形态。二、作业要求解读作业原文波斯语版英文原版见 3-Data-Visualization/11-visualization-proportions/assignment.md给出的指令非常明确你知道吗你可以直接在 Excel 中创建甜甜圈图、饼图和华夫图使用一个你自选的数据集直接在 Excel 工作表中创建这三种图表。拆解下来作业包含三个递进步骤选定数据集可以是本仓库的data/mushrooms.csv也可以是任何你熟悉、字段适合做分类统计的数据用 Excel 创建饼图、甜甜圈图、华夫图各一张三张图都应来自同一份数据体现不同类别之间的数量占比完成自评对照下表即作业附带的评分标准判断自己的成果等级。评分标准是本次作业质量的核心依据原表内容如下必须完整对照优秀Exemplary合格Adequate需要改进Needs Improvement提交的 Excel 表格中包含了全部三种图表提交的 Excel 表格中包含了两种图表提交的 Excel 表格中只包含一种图表从评分标准可以清晰看到三种图表齐全 优秀缺一张 合格只画一张 需要改进。因此提交前务必逐项核对图表的种类完整性。三、数据准备先按类别做汇总沿用主课文思路无论使用什么工具比例图之前都需要计数。主课文在 Python 中是这样做的见 3-Data-Visualization/11-visualization-proportions/README.mdimport pandas as pd import matplotlib.pyplot as plt mushrooms pd.read_csv(../../data/mushrooms.csv) mushrooms.head()由于所有特征都是文本对象先将其转换为category类型再按类别分组计数cols mushrooms.select_dtypes([object]).columns mushrooms[cols] mushrooms[cols].astype(category) edibleclass mushrooms.groupby([class]).count()分组计数后的结果对仓库数据实测Edible4208 条、Poisonous3916 条合计 8124 条。同理可对habitat栖息地7 类与cap-color菌盖颜色9 类分组。作业中所有 Excel 图表都应基于这类分组计数结果而不是原始明细行——比例图展示的是每一类占多少而不是每一行是什么。四、Excel 实操三种比例图的实现路径4.1 饼图Pie Chart饼图用扇形角度表示占比最适合类别数量较少27 类的场景。在 Excel 中饼图是原生内置图表操作路径如下在 Excel 工作表中准备两列数据一列是类别标签如Edible、Poisonous一列是计数结果如4208、3916选中这两列数据 → 菜单栏选择「插入」→ 在图表区域选择「饼图」右键图表可添加「数据标签」勾选百分比即可显示各扇区占比。以蘑菇的食用性分类为例饼图会直接呈现 4208 条可食与 3916 条有毒的占比关系。主课文中对应的 Python 实现如下注意labels 数组的顺序必须与分组结果的索引顺序一致这是饼图最常见的错误来源labels[Edible,Poisonous] plt.pie(edibleclass[population], labelslabels, autopct%.1f %%) plt.title(Edible?) plt.show()在 Excel 中同样要注意类别列与数值列的对应关系不能错位Excel 会按所选区域的行序自动配对标签与数值。下图为主课文生成的饼图效果示例pie1-wb.png4.2 甜甜圈图Donut Chart甜甜圈图本质是中间挖洞的饼图在视觉上更轻巧也更方便在中心区域放置汇总信息如总数或标题。在 Excel 中它被称为环形图Doughnut Chart同样是原生图表类型沿用上一节准备好的类别 计数两列数据选中数据 → 「插入」→ 在图表区域选择「环形图」环形图的洞径可以通过右键图表 →「设置数据系列格式」调整环宽环越细中间可容纳的文字区域越大。主课文用蘑菇的 7 种栖息地数据制作甜甜圈图Python 实现如下先分组得到 7 个栖息地类别再绘制饼图并叠加一个白色中心圆来挖洞habitatmushrooms.groupby([habitat]).count() labels[Grasses,Leaves,Meadows,Paths,Urban,Waste,Wood] plt.pie(habitat[class], labelslabels, autopct%1.1f%%, pctdistance0.85) center_circle plt.Circle((0, 0), 0.40, fcwhite) fig plt.gcf() fig.gca().add_artist(center_circle) plt.title(Mushroom Habitats) plt.show()其中plt.Circle((0, 0), 0.40, fcwhite)的半径参数0.40决定了中心洞的大小——把 0.40 改大洞变宽、环形变细改小则相反。在 Excel 环形图中这一参数对应设置数据系列格式里的环宽百分比二者是同一视觉概念的不同表达。对仓库数据实测7 类栖息地的计数为Wood3148、Grasses2148、Paths1144、Leaves832、Urban368、Meadows292、Waste192可作为作业示例数据的直接来源。下图为主课文生成的甜甜圈图效果示例donut-wb.png4.3 华夫图Waffle Chart华夫图用二维网格中的方格数量来表示数量——100 个格子代表整体 100%每个类别占据的格子数与其占比成正比。它的视觉冲击力强特别适合展示整体由哪几部分组成以及某一部分特别突出的信息。需要说明的是Excel 没有原生内置的华夫图图表类型通常通过以下方式实现通用做法先按主课文的思路准备好类别计数例如cap-color的 9 类颜色及其计数在工作表空白区域搭建一个 10×10或 20×5的方格矩阵用公式如IF函数结合累计占比或「条件格式」的色阶/图标集规则让每个格子依据其落入的类别区间显示对应颜色也可以借助支持该图表类型的第三方加载项或使用 Excel 的「Power Query 条件格式」组合方案。主课文的 Python 实现需要先安装辅助库 PyWaffle然后分组并绘制pip install pywafflecapcolormushrooms.groupby([cap-color]).count()import pandas as pd import matplotlib.pyplot as plt from pywaffle import Waffle data {color: [brown, buff, cinnamon, green, pink, purple, red, white, yellow], amount: capcolor[class] } df pd.DataFrame(data) fig plt.figure( FigureClass Waffle, rows 100, values df.amount, labels list(df.color), figsize (30,30), colors[brown, tan, maroon, green, pink, purple, red, whitesmoke, yellow], )其中rows 100表示网格的行数这里 100 行构成一个大的比例矩阵values传入各类别的计数colors列表与labels一一对应。对仓库数据实测cap-color的 9 类计数为Brown2284、Green1856、Red1500、Yellow1072、White1040、Buff168、Pink144、Cinnamon44、Purple16——绿色菌盖的蘑菇数量出人意料地多这正是华夫图一眼就能传达的信息。下图为主课文生成的华夫图效果示例waffle.png五、对照评分标准自查与提交要点完成三种图表后按作业自带的评分标准逐项检查图表种类是否齐全工作表中应同时存在饼图、环形图甜甜圈图、华夫图三张图。若只画出两张为合格仅一张则为需要改进数据是否来自同一个数据集作业允许自选数据集但三种图应来自同一份数据源体现同一数据、三种视角的设计意图比例语义是否正确饼图与环形图应基于分组计数而非原始明细华夫图格子数与占比应成比例避免误导读者标签与图例是否完整每张图都应能无歧义地读出每个扇区/每类颜色代表什么类别、占比多少。建议把三张图放在同一个工作表的相邻区域并用单元格批注或说明文字标注各自对应的分组字段如class、habitat、cap-color方便评审快速理解。六、延伸与挑战主课文在结尾给出了一个延伸挑战尝试用拖拽式可视化工具 Charticulator 重新创作这三种美味的图表并提醒——PyWaffle 支持在格子中使用图标基于 Font Awesome 图标库代替纯色方格让华夫图更具表现力。如果你完成了 Excel 版本可以尝试用蘑菇数据集的odor气味或population种群规模字段再做一个分组计数生成新的饼图或环形图将华夫图升级为图标华夫图用蘑菇或叶子图标替代纯色方格对比三种图表在传达同一占比信息时的直观性差异思考什么时候该用饼图、什么时候该用环形图、什么时候该用华夫图。主课文配套的完整可运行示例位于 solution/notebook.ipynb其中逐格复现了数据加载、饼图、栖息地环形图与菌盖颜色分组计数的完整过程可作为你作业中数据分组逻辑的参考答案。七、小结本次作业的核心方法论与主课文一致比例可视化的第一步永远是把数据按类别分组计数第二步才是选择展示形态。饼图适合少量类别的占比对比甜甜圈图环形图在视觉上更轻、中心可承载汇总信息华夫图则以格子即比例的方式呈现数量构成。把这三者在 Excel 中亲手实现一遍你就能做到无论工具如何切换Python 与 Excel比例可视化的思路始终如一这也是第 11 课设置这份作业的用意所在。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/14 8:03:45

vibe coding焦虑自救:9个开源工具打造AI编程安全护栏

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/14 8:03:45

Flask路由详解:从动态路由、转换器到优先级排序与调试技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/14 7:58:45

一个窗口管三样:Tabby整合SSH、FTP与RDP的运维实践

有一段时间我同时维护着几台 Linux 服务器和两三台 Windows 主机,桌面上常年飘着五六个窗口:一个敲 SSH 命令,一个传文件的 FTP 客户端,再开一个 mstsc 连远程桌面。每次切换我都觉得自己像调度员,但调度的是一堆随时可…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码