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

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

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

640.gif


数据集获取方式


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

640.png


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


640.png


核心函数


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


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


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


640.png


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


640.png


配置视频


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


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


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

640.png

登录官网

640.png


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


后续


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

相关文章
|
1月前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
71 0
|
5天前
|
数据采集 JSON 数据格式
深入解析:使用Python爬取Bilibili视频
本文介绍了如何使用Python编写脚本自动化下载Bilibili视频。通过requests等库获取视频和音频URL,使用ffmpeg合并音视频文件,最终实现高效下载。注意遵守网站爬虫政策和法律法规。
53 4
|
14天前
|
搜索推荐 Python
快速排序的 Python 实践:从原理到优化,打造你的排序利器!
本文介绍了 Python 中的快速排序算法,从基本原理、实现代码到优化方法进行了详细探讨。快速排序采用分治策略,通过选择基准元素将数组分为两部分,递归排序。文章还对比了快速排序与冒泡排序的性能,展示了优化前后快速排序的差异。通过这些分析,帮助读者理解快速排序的优势及优化的重要性,从而在实际应用中选择合适的排序算法和优化策略,提升程序性能。
28 1
|
1月前
|
机器学习/深度学习 编解码 Python
python将照片集变成视频
`shigen`是一位坚持更新文章的博客作者,记录成长历程,分享认知见解,留住生活感动。他利用Python库`Pillow`和`MoviePy`开发了一个工具,能够批量处理照片并生成高质量视频。该工具支持多种分辨率、自定义播放时间和照片方向,并能自动调整照片比例以实现居中对齐。通过简单的代码实现了照片视频化的需求,适合强迫症患者使用。**与shigen一起,每天不一样!**个人IP:shigen。
44 9
python将照片集变成视频
|
1月前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
2月前
|
编解码 Python
Python如何给视频添加音频和字幕
Python如何给视频添加音频和字幕
|
2月前
|
编解码 Python Windows
python有没有包 可以检测 这个视频是否可以播放
python有没有包 可以检测 这个视频是否可以播放
|
1月前
|
存储 算法 搜索推荐
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
72 0
|
2月前
|
数据处理 Python
python遍历文件夹所有文件按什么排序
python遍历文件夹所有文件按什么排序
|
2月前
|
数据处理 Python
Python遍历文件夹所有文件并按指定排序
Python遍历文件夹所有文件并按指定排序