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

五迷三道 提交于 2021-01-03 16:25:44

↑↑↑点击上方蓝字,回复资料,10个G的惊喜

先看一下最终效果,这是一张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,让整个效果更加爆燃。


    
    
END
欢迎添加我的微信,更多精彩,尽在我的朋友圈。
扫描二维码添加好友↓

推荐阅读

(点击标题可跳转阅读)

当 当 网,花160买400的书!

囤书福利 | 数学篇(10本好书)

Python文本预处理:步骤、使用工具及示例

机器学习基础:详解 5 大常用特征选择方法

NumPy库入门教程:基础知识总结

三连支持,混脸熟,进福利群↓↓↓

本文分享自微信公众号 - 机器学习算法与Python实战(tjxj666)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!