之前的动态排名效果很流行。已有一些成熟的工具可以使用。在接触了Matplotlib的animation模块后,想自己动手实现一下;同时希望提供一些接口,方便对动画的效果和样式进行设置。
在实现过程中遇到很多坑。比如如何利用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
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输出到指定路径
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)
原创不易,如果有帮助到你,麻烦点个赞~ 转载请注明出处~