数据故事化中创建引人入胜的动画可视化的逐步指南
https://tezansahu.medium.com/?source=post_page---byline--9ba48084b0c0--------------------------------https://towardsdatascience.com/?source=post_page---byline--9ba48084b0c0-------------------------------- Tezan Sahu
·发表于 Towards Data Science ·阅读时间 8 分钟·2024 年 10 月 6 日
–
你是否曾在社交媒体上滚动时,被那些展示人口、公司,甚至是迷因股票涨跌的动画图表迷住了?
我知道我有过——像你们中的许多人一样,我一直对那些出现在社交媒体上的动画可视化着迷。你们知道的,就是那些迷人的条形图竞赛,展示人口增长,或是动态气泡图,说明人们如何度过一天的时间。我会一遍遍地看,惊叹于它们讲述的故事,哪怕没有一句话。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/64f37deb646449a419f1a1437fd9baec.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/64f2639860e97b871ca39093c0710930.png
动画图表的示例——条形图竞赛(左)和动态气泡图(右)
所以,我对自己说:“我们来试试创建一个吧!更棒的是,我们可以用低代码方式来实现!”
这里有个 confession:虽然我已经做了数据和应用科学家一段时间了,但直到最近,我才知道这些图表叫做“动画图表”,而这些特定类型的图表被称为“条形图竞赛”,等等。
在这篇文章中,我分享了如何勇敢尝试并创建了我的第一个惊艳的动画可视化。这是最终效果的一个小预览:
最终可视化的一部分(2020–24)(由作者创建)
为什么选择动画可视化?
在我们快节奏的数字世界中,吸引并维持观众注意力比以往任何时候都更加具有挑战性。动画可视化正是在此时大放异彩。它们可以:
-
以易于理解的格式传达复杂的趋势变化
-
激发观众的情感,使数据更加难忘
-
鼓励在数据集中进行探索和发现
-
简化向非技术观众传达关键信息
作为数据专业人士,紧跟这些强大叙事工具的步伐至关重要。让我们深入了解如何有效地利用这些工具。
那么,我该从哪里开始呢?
作为一名狂热的板球迷,我知道我想做一些与 印度超级联赛(IPL) 相关的事情。但我不想只做一个普通的可视化。我想做一些能让即便是最随意的板球迷也会惊叹的作品。
就在那时,我突然意识到:如果我能展示每支 IPL 球队随时间推移的胜利次数呢? 那将是像在眼前展开整个 IPL 历史一样的体验!
在 Kaggle 上快速搜索让我发现了一个宝藏 —— 一个包含 2008 到 2024 年比赛结果的全面 IPL 数据集。我下载它的速度比 Jasprit Bumrah 的 yorker 还快,并将其保存为 ipl_matches_2008-2024.csv。
最新且完整的 IPL 数据集(更新至 2024 赛季)
www.kaggle.com](https://www.kaggle.com/datasets/patrickb1912/ipl-complete-dataset-20082020?select=matches.csv&source=post_page-----9ba48084b0c0--------------------------------)
现在,手头有了我的数据集,我面临着一个令人生畏的问题:我该如何将这些数据转化为那些炫酷的动画图表呢?
虽然我很擅长使用 Python 从零开始编写可视化代码,但我对低代码工具的高效性产生了兴趣。于是,遇到了 Flourish——一个我偶然发现的工具,承诺在不需要编码的情况下帮助创建令人惊叹的可视化 —— 真是太酷了!
在搜索工具以创建动画可视化时,我偶然发现了 “Flourish”。
Flourish 提供的可视化选项种类丰富(即使是免费版用户也可以使用)。在选择“条形图竞赛”选项后,点击“数据”切换按钮,我迅速理解了 Flourish 生成条形图竞赛可视化所需的数据要求。
理解 Flourish 中的数据需求
数据整理
当然,原始的 IPL 数据集远远没有达到这种格式,这意味着我有机会利用 GitHub Copilot 的强大功能来整理数据,并将其转换为所需的格式。
以下是我与 GitHub Copilot 进行的交互序列,帮助我将原始的 IPL 数据转换成所需格式(还包含一些有趣的 IPL 相关细节):
第一步,我大致解释了数据集最初的格式,以及我希望最终表示的方式:
这是 GitHub Copilot 返回的结果:
我惊喜地发现,这段代码几乎第一次就正确了!所示过程很简单:
提取每场比赛的唯一日期和独特队伍后,初始化一个数据框,将队伍作为行,日期作为列。现在,遍历每个日期并执行以下操作:
-
筛选出截至当前日期的比赛
-
计算每支队伍的累计胜场
-
更新数据框架以显示累计胜场
唯一的问题是这段多余的代码——去掉它就解决了我的问题:
# Ensure cumulative sum
if date != unique_dates[0]:
cumulative_wins.at[team, date] += cumulative_wins.at[team, unique_dates[unique_dates.index(date) - 1]]
cumulative_wins.head() 得到如下结果:
等等,别急!IPL,像所有好的戏剧一样,有着自己的曲折变化……
处理 IPL 的细节
尽管这些数据本身已经足够用于在 Flourish 中做条形图竞赛可视化,但我决定处理一些 IPL 的细节,以使可视化更加真实。
队伍更名
在 IPL 的历史中,曾多次发生过俱乐部老板更换,导致队伍重新品牌化的情况。还记得 德干充电器 变成了 太阳神海得拉巴 吗?
在数据集中,这些被视为单独的队伍,在单独的行中,其中在更名后,旧队伍会保留到那一年的累计胜场,而新队伍则从零胜场开始。
为了修改这个,我尝试了以下提示:
经过几处小修正,最终的代码如下:
现在,为了将其推广并应用于各种变化,我尝试将其转化为一个函数,并使用 Bing 查找这些重大队伍变动的年份,然后将该函数应用于它们:
太棒了!我已经能考虑到多年来发生的所有俱乐部更换情况。尽管如此,有一件事仍然困扰我……
解散的队伍
IPL 中有一些队伍只出现在几个赛季中,然后消失不见。它们在最终可视化中的存在,看起来没有必要。
所以,我尝试通过以下提示在它们最后一次出现后将其移除:
这给了我另一个很棒的功能,我可以将其应用于那些多年来解散的队伍(再次说明,这些数据是我从 Bing 找到的)。
队伍徽标
在 Flourish 的演示数据中,我注意到有一列包含了每个条形图竞赛中可以使用的图像链接。
为了让我的可视化更加突出,我想做一些类似的事情。所以,我找到了我们数据集中每支独特队伍的徽标图片,并将它们添加到一个新列中:
这个小小的细节显著提升了观众在动画过程中跟踪各队的能力
现在,我已经准备好创建可视化了!
将一切汇总
数据准备好并经过精细打磨后,是时候进行主要活动了!
上传到 Flourish 轻松无比——它能自动正确识别 标签、值 和 图像 列。
切换到 预览 切换按钮后,我得到了几乎符合我设想的效果——做了一些设置调整后,我们就完成了。
以下是我所做的更改:
-
使用“条形上的标签(坐标轴中的图像)”作为标签模式下的“标签”,以获得简洁的外观
-
将图像的 尺寸 设置为“适应”并将 形状 设置为“矩形”,以便清晰显示标志
-
减少了 计时器 % 大小 和 总计器 下的 计数器 & 总计器,以保持平衡
就这样——从一个简单的 CSV 文件到一个动态、有趣的可视化,讲述了 IPL 团队多年来的表现——只需要一点创意和一些数据魔法。🎉
这是最终输出👇🏼
IPL 团队获胜的最终条形图比赛可视化(由作者创建)
数据专业人士的关键收获
这个简单却富有吸引力的项目为数据科学家和分析师提供了几个有价值的见解,帮助他们提升故事讲述的能力:
-
低代码并不意味着低质量: 像 Flourish 这样的工具可以生成复杂的可视化,堪比定制编码的解决方案。
-
数据准备依然至关重要: 我们的数据科学技能在准备和结构化数据以进行有效可视化方面是无价的。
-
效率提升: 对于某些项目,低代码工具可以显著减少从数据到洞察的时间,而不牺牲质量。
-
可访问性: 这些工具可以帮助弥合数据团队与非技术利益相关者之间的沟通差距,促进洞察的更好传达。
作为数据专业人士,我们很容易沉浸在编码技能的强大之中。然而,重要的是要记住保持对新工具和方法的开放心态。像 Flourish 这样的低代码可视化平台并不取代我们的专业知识——它们增强了我们的能力,使我们能够更高效地创造引人入胜的数据故事。
通过将我们对数据处理和统计分析的深入理解与这些新工具的快速原型设计能力相结合,我们可以将数据故事讲述提升到新的高度。无论是向高层展示,还是为社交媒体创建内容,或是探索数据以获得自己的洞察,考虑将低代码可视化工具加入你的工具箱。
数据科学的未来不仅仅是处理数字——更是讲述能引起共鸣的故事。通过拥抱能够增强我们创造引人入胜可视化能力的工具,我们可以确保我们的洞察不仅能提供信息,还能激发灵感并推动行动。
关于作者
嗨,大家好!👋🏼
我是Tezan Sahu,一名微软的软件工程师 2(前数据与应用科学家 2),亚马逊 #1 畅销书作者(著作《Beyond Code》),同时也是《The Vision, Debugged》AI 时事通讯的共同作者。
我热衷于帮助有志成为数据科学家和软件开发者的人们启动他们的职业生涯,持续地产生影响,并成为人工智能和数据科学领域的有差异化的专业人士。
如果你有兴趣了解如何在数据科学行业保持领先,并通过领导力和思维方式的实用技巧提升你的成果,在 LinkedIn 上与我联系。
867

被折叠的 条评论
为什么被折叠?



