之前的动态排名效果很流行。已有一些成熟的工具可以使用。在接触了Matplotlib的animation模块后,想自己动手实现一下;同时希望提供一些接口,方便对动画的效果和样式进行设置。 原创不易,如果有帮助到你,麻烦点个赞~ 转载请注明出处~
实现动态排名效果(基于Python+Matplotlib)
一、背景
在实现过程中遇到很多坑。比如如何利用Python调用imagemagick输出视频文件;直接plt.show()展示的效果竟然和save()出的视频效果有差异;输出的视频“不完整”。不过目前都已经解决。
相关代码已部署到Gitee中(https://gitee.com/jixuanfan/Animation),感兴趣的同学可以去玩一下~二、应用举例
DA=Dynamic_ranking('Example/test.txt',step=10,interval=2,v_space=3) DA.Run(repeat=True,repeat_delay=2.5) #直接将动画效果显示到屏幕 DA.Run(save_path='Example/dynamic_ranking_2.gif',writer='imagemagick') #默认的writer是pillow
2. 可配置动画效果DA=Dynamic_ranking('Example/test.txt',step=10,interval=2,v_space=2,bar_arg={'cmap':{'AA':'#FFAB00','BB':'#3515B0','CC':'#FFE900','DD':'#58E000','EE':'#FF3100'},'alpha':0.8}) DA.Run(repeat=True,repeat_delay=2.5) #直接将动画效果显示到屏幕 DA.Run(save_path='Example/dynamic_ranking.gif') #将动画转换为GIF输出到指定路径
3. 实例:近20年乒乓球男子单打排名DA=Dynamic_ranking('Example/table_tennis.csv',step=10,interval=2,v_space=2,time_fmt='M',text_arg={'right_x_margin':13,'left_x_margin':10,'time_c':'r','time_fz':18,'name_fz':11,'time_y':0.03}) DA.Run(save_path='Example/table_tennis.gif',writer='pillow')
help(Dynamic_ranking)
三、进一步改进
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算