前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超炫酷动态排序图、视频,我都帮你用Python实现了

超炫酷动态排序图、视频,我都帮你用Python实现了

作者头像
统计学家
发布2020-09-08 14:40:27
5180
发布2020-09-08 14:40:27
举报

先看一下最终效果,这是一张Python生成的GIF,还可以输出MP4格式的视频,到底怎么做的?且听我娓娓道来——数据集、代码、详细做法全部讲清楚。

数据集获取方式

大家可以去国家统计局的网站,搜索想要的数据,比如本例中我们需要的是人口数据,如下图所示,下载数据即可,我比较喜欢csv格式。

把数据整理一下,如下图的格式:

核心函数

代码部分大家请看下面的的截图,这里我们只看一下核心函数的主要参数,非常重要!!!

函数FuncAnimation(fig,func,frames,init_func,interval,blit)是绘制动图的主要函数,其参数如下:

  • fig 绘制动图的画布名称
  • func自定义动画函数,即下边程序定义的函数update
  • frames动画长度,一次循环包含的帧数,在函数运行时,其值会传递给函数update(n)的形参“n”
  • init_func自定义开始帧,即传入刚定义的函数init,初始化函数
  • interval更新频率,以ms计
  • blit选择更新所有点,还是仅更新产生变化的点。应选择True,但mac用户请选择False,否则无法显示

其实原理就是生成每个年份的柱状图,然后用FuncAnimation绘制GIF

配置视频

大家运行上面代码的时候还是会出错的,报错信息:RuntimeError: Requested MovieWriter (ffmpeg) not available

因为我们还需要安装FFmpeg,它一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。

这里只讲一下ffmpeg的安装步骤:

登录官网

下载安装包,解压到某个文件夹下,复制解压缩后的bin目录下ffmpeg.exe的路径,沾到上面代码ffmpegpath = os.path.abspath()中即可。

后续

动态排名图可以输出为视频文件,会视频剪辑的还可以加上自己喜欢的bgm,让整个效果更加爆燃。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据集获取方式
  • 核心函数
  • 配置视频
  • 后续
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档