
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),仅供参考