AIPND条形图实战:用分类数据讲好故事的5个技巧

AIPND条形图实战:用分类数据讲好故事的5个技巧

【免费下载链接】AIPND Code and associated files for the AI Programming with Python Nanodegree Program 【免费下载链接】AIPND 项目地址: https://gitcode.com/gh_mirrors/ai/AIPND

AIPND(AI Programming with Python Nanodegree)项目里藏着一整套数据可视化实战练习,其中的条形图练习专门训练你用分类数据讲出清晰的故事。今天这篇文章,我们就从 Bar_Chart_Practice.ipynb 出发,用 Pokémon 数据集学会 5 个实用的分类数据条形图技巧,帮你从"会画图"进阶到"会讲故事"的数据可视化新手。

认识实战素材:Pokémon 数据集与条形图练习

AIPND 的 Matplotlib 目录收录了从单变量到多变量的一系列可视化练习,难度循序渐进。本文的主角 Bar_Chart_Practice.ipynb 配套 pokemon.csv,记录了 800+ 只宝可梦的世代(generation_id)、属性(type_1 / type_2)等字段,练习任务有两个:

  1. 统计每个世代引入的宝可梦数量,绘制频数条形图
  2. 统计每种属性出现的比例,绘制排序后的相对频率条形图

画完卡壳也不用慌,solutions_univ.py 中的 bar_chart_solution_1()bar_chart_solution_2() 给出了完整解法。建议先自己动手再对照答案,收获更大 😉

技巧一:先分清数据类型,条形图只服务分类数据

条形图的每个柱子都代表一个"类别":宝可梦的世代、属性、出生年份……这些由有限取值组成的变量,就是分类数据。与之相对,身高、体重这类连续数值,更适合用直方图。

AIPND分类数据可视化示例:金毛犬品种

就像项目中的 intropylab-classifying-images 实验用 CNN 识别宠物品种一样,照片里的金毛、虎斑猫、斑点狗各自代表一个类别标签——这正是分类数据的直观写照:

AIPND分类数据可视化示例:虎斑猫品种类别

AIPND分类数据可视化示例:斑点狗品种类别

如果想统计"图库里每种动物各有多少张照片",横轴放动物类别、柱子高度放照片数量,就是一张标准的分类数据条形图。而 Histogram_Practice.ipynb 练的则是连续数值场景,两者千万别搞混——分清数据类型,是画对图的第一步。

技巧二:用 seaborn 的 countplot 一键统计频数

画分类数据条形图,最省力的武器是 seaborn 的 countplot。只需指定数据和列名,它就会自动完成"每个类别出现几次"的统计并绘制出来,例如 sb.countplot(data=pokemon, x='generation_id')。这就是最基础的频数条形图,也是分类数据可视化的起点,一行代码即可让你的数据开口说话。

技巧三:按频数排序,让"最受欢迎"一目了然

未排序的条形图容易让人抓不住重点。先用 value_counts() 算出各类别的频数并取得顺序,再把这个顺序传给 order 参数,柱子就会从高到低整齐排列——最高频的类别自动占据 C 位,读者一眼就能读出"水属性最多"这类结论。排序这个小动作,能让分类数据的故事立刻清晰起来,是提升图表说服力的关键。

技巧四:类别超过 10 个?果断换成水平条形图

宝可梦属性多达 18 种,竖着画不仅拥挤,类别标签还容易重叠。把变量放到 y 轴画水平条形图,名称就能舒展地横向排开,阅读体验大幅提升。solutions_univ.py 的第二个解法正是这样处理的,同时还为 X 轴补上"proportion"标签,明确告诉读者柱子长度代表的是比例而非绝对数量。

技巧五:用相对频率讲"占比"故事

数量之外,我们常常更关心"每种类别占多少比例"。这里藏着一个经典陷阱:宝可梦可能同时拥有两种属性,把所有属性的频数相加会超过物种总数。正确做法是用唯一物种数species.unique())作为分母,再让各属性频数除以它得到相对频率,并把坐标轴刻度显示为 0.00、0.02 这样的比例值。这样读者能直接读出"大约 25% 的宝可梦带有草属性"的结论,故事性瞬间拉满。

延伸练习:在 AIPND 里继续打磨数据可视化

掌握分类数据条形图后,AIPND 还有更多练习等你挑战:

小结

条形图不是简单地把柱子立起来,而是用分类数据讲故事的表达艺术。分清数据类型、正确统计频数、按频数排序、选对方向、算准占比——掌握这 5 个 AIPND 条形图实战技巧,你的数据可视化作品就能从"能看"升级到"耐看",让每个类别都开口说话 🎤

【免费下载链接】AIPND Code and associated files for the AI Programming with Python Nanodegree Program 【免费下载链接】AIPND 项目地址: https://gitcode.com/gh_mirrors/ai/AIPND

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值