点击上方Python知识圈,选择设为星标

回复1024获取Python资料

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

来源:量化投资与机器学习(ID:Lhtz_Jqxx)

本文首发于量化投资与机器学习

阅读文本大概需要 3 分钟。

前言

最近,这种动态排序条形图视频超级火,如下图:

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

具体来说,这种图可以叫:Bar Chart Race,有什么国家GDP的、某某沉浮史等等,为了符合公众号的身份属性,我们为大家制作了这个较为简单的可视化视频:2015~2019中国私募基金市场风云变幻,先一睹为快吧!

背景音乐一起播放更搭配哦!

大家可以基于私募基金数据做出更多有趣的可视化来!也欢迎大家踊跃投稿哦!

择日不如撞日,今天公众号手把手教你!

我们使用最流行的Python语言基于Matplotlib来实现上面的动态效果。案例和数据自1500年以来世界上10个最大城市排名。

准备工作

导入相关库:

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

使用pandas读取相关城市人口数据集。我们只需要4列数据:'name'、'group'、'year'、'value'。一个名称映射到一个组,每年有一个值。

原始数据集:

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

数据转换

使用pandas进行转换,得到前10个值。

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

基础图

让我们画一个基本的柱状图。首先创建一个图形和一个坐标轴。然后使用ax.barh (x,y)绘制水平条形图。

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

颜色、标签

接下来,让我们根据组添加值、组标签和颜色。使用 colors 和 group_lk 为条形图添加颜色。

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

group_lk 是 name 和 group 值之间的映射。

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

细节刻画

为了方便起见,我们将代码迁移到draw_barchart函数中:

  • Text:更新字体大小、颜色、方向

  • Axis:将x轴移动到顶部,添加颜色和副标题

  • Grid:在bars添加

  • Format:逗号分隔值和轴标记符

  • Remove:框架,y轴标签

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

动态化,激动人心!

要对上图进行动画处理,我们将使用 matplotlib.animation 中的 FuncAnimation

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

Functionatio 通过反复调用函数(在画布上绘制)来创建动画。在本例中,该函数将是 draw_barchart。 我们使用 frames,这个参数接受你想运行的 draw_barchart 的值——我们将从1968年运行到2018年。

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!


40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

我们还可以通过下面的红框,调整速度、倒退等操作。

你可以将动画对象保存为视频或gif形式:

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

OK,大功告成!赶快一显身手吧!

整个代码不到40行!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

获取代码

后台输入「动态图」获取代码。

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

留言打卡 DAY 51

今日的留言话题是:说说你见过的Python的有趣或者实用的操作案例?关于留言打卡的规则可以参考 留言打卡送福利 (点击链接查看详细打卡规则),请按照 昵称+天数(请以自己实际打卡的天数为准,如day1 or day2 or day3)+ 留言内容(不少于15字)的方式留言。

Python知识圈公众号的交流群已经建立,群里可以领取 Python 和人工智能学习资料,大家可以一起学习交流,效率更高,如果是想发推文、广告、砍价小程序的敬请绕道一定记得备注「交流学习」,我会尽快通过好友申请哦!通过好友后私聊我「学习资料」或者「进群」都可以。

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

扫码添加,备注:交流学习

往期推荐
01

计算机技能需求新排名:Python 仅排第 3,第 1 你可能猜不到哦

02

如何快速判断一家公司要倒闭了?

03

中国爬虫违法违规案例汇总!


分享给你的朋友

点个在看

40行Python代码制作超炫酷动态排序图,有了它高逼格视频和PPT再也不愁!

相关文章:

  • 2023-01-01
  • 2021-08-18
  • 2021-07-01
  • 2021-05-25
  • 2022-12-23
  • 2022-02-09
  • 2022-02-11
  • 2022-12-23
猜你喜欢
  • 2021-12-26
  • 2021-11-05
  • 2022-01-15
  • 2022-12-23
  • 2021-06-09
相关资源
相似解决方案