Use Seaborn to Create Animated Graph

今天看到一篇很好的文章,教我们如何在Python中创建动画图。很具有实践性,于是跟着码了一遍代码。

附上文章链接

问题

这过程中遇到两个问题:
1 . 用pip install ffmpeg安装了FFmpeg之后,仍然不能正常运行
2 . 解决第一个问题后,又报AttributeError:Seaborn Lineplot Module Object Has No Attribute 'Lineplot'

解决方案

问题一

在Windows上安装FFmpeg需要设置环境变量。

步骤一

这里下载FFmpeg包,ffmpeg-20180913-1b98bfb-win64-static到本地,解压后,重命名文件夹为FFmpeg。复制或者剪切修改好的文件夹到C盘。

步骤二

接下来在命令行中启用FFmpeg。右键单击此电脑,选择属性,找到高级系统设置,进去。点击环境变量,可以看到两个设置变量的框,在上面的xxx的用户变量框里,找到Path,选择新增,将C:\FFmpeg\bin添加进去,点击确定

步骤三

测试FFmpeg是否安装成功。快捷方式win+R,输入cmd进入命令控制窗口。键入ffmpeg -version,回车,若出现一系列关于FFmpeg的信息,说明设置成功。

问题二

对于Seaborn包没有属性Lineplot问题,我首先百度了下,几乎都是建议先确认自己的Python环境是否正确,是否安装了需要用的包。于是我分别执行命令pip install matplotlibpip install seaborn后,再重新导入这些模块到代码中,运行仍然报错。

一番折腾后,发现是seaborn包版本问题。Linplot在0.9版本下的seaborn环境中才可以,因而需要对seaborn包进行升级,运行命令pip install seaborn==0.9.0之后,再次运行代码,不报错了。

1 . 原文中使用的代码在读取excel文件的时候使用了已废弃的sheetname参数,正确应该修改为sheet_name
2 . 若使用的是jupyter notebook,确保在代码首行加入了%matplotlib notebook%matplotlib notebook提供了一些交互性,可能会很慢,因为渲染由服务器端完成。
然鹅,我加了后,在jupyter notebook中并没有看到正常的动画效果(原因未知)。程序运行是没有问题的,在本地生成了一个视频,可以正常显示动画图。

-------------完-------------