第十四届全国运动会已经开始了,大家看比赛了吗?你最喜欢什么运动?家乡选手都表现得怎么样?
借此机会,我将展示基本的数据收集和可视化案例。
可视化历届全国运动会的金牌得主
1.整理数据
没有找到现成的结构化数据表,但找到了以下文本数据:
格式比较规则,稍微处理一下就可以使用。
(这里是1~12届,上一届第13届因为开始取消奖牌榜了,我就不管了,不影响我们展示)于是我把数据全部复制下来,然后通过 SublimeText 的正则查找替换功能做一下初步的处理。平常一些简单的文本或数据处理,我都会这么做,不一定非要用代码处理。好一点的文本编辑器也都有类似的功能。
把多余的文字删除掉之后,剩下的就是只有空行和 ┃ 符号分隔的数据,用代码很容易读取:
将每届的奖牌榜存成一个单独的 DataFrame,再全部放进一个 list 列表里。顺便我还把数据存成了 excel。(文末会提供数据和代码下载)
同时,为了展示方便,我只筛选出了历届曾经拿过前三的队伍,用于后续作图,分别是:
上海、北京、山东、广东、江苏、解放军、辽宁
从所有数据中,把这几支队伍的金牌数依次取出,保存成列表:
2. Matplotlib 折线图
Python 做可视化图表最常用的库就是 matplotlib。代码很简单:
折线图很适合展示随时间变化的数据,也适合多组同类数据的对比。
比如这张图上,可以直观地看出,解放军队在最初两届获得了远超其他队的金牌,而像山东、辽宁、江苏的金牌数量整体呈比较明显的上升趋势。
如果不做可视化,只是盯着密密麻麻的数字,那可能眼睛都要看瞎了。
顺便说下,图表上显示中文的时候会出现显示为 □ 的情况,需要额外做处理,我这里用的方法是自己下载一个字体文件使用:
另外还有一种方法是:
3. PyEcharts 折线图
Matplotlib 的图表简单实用,功能也很强大,但都是静态的。如果需要可交互的动态图表,则可以使用 pyecharts 库。
用法也很简单:
在这个图上,你可以选择隐藏/显示部分数据,鼠标移到某个节点上是也会显示详细信息。
特别提醒两点:
1. 我这里是在 jupyter notebook 上进行开发(数据分析可视化推荐使用),所以可以直接调用 .render_notebook() 显示动态图表。如果你是其他 IDE,可以改成 .render("文件名.html") 的方式输出结果页面。
2. PyEcharts 之前做过较大更新,以至于网上很多教程里的用法在新版本上已经无法使用了。所以你在通过网上资料学习 PyEcharts 时,一定要看清版本,建议看新出的教程或官网的例子。
以上就是将全运会历届金牌榜进行可视化展示的学习案例。有什么疑问,欢迎大家在留言中讨论,或将代码问题发至我们的答疑论坛上,我将会为大家解答。
数据及代码:
如果文章对你有帮助,欢迎转发/点赞/收藏~
----
获取更多教程和案例,
欢迎搜索及关注:Crossin的编程教室
每天5分钟,轻松学编程。
1.《【全运会金牌榜】「可视化」全运会历届金牌榜》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【全运会金牌榜】「可视化」全运会历届金牌榜》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/2621736.html