详情可以参考:
http://www.animatedgraphs.co.uk/scatter.html
ps:不想发视频文件,所以用了winmpg转成gif,但是用的是未破解的版本,所以画面里一直有一行要人注册的字样。
貌似gif显示的很慢,先发几张png。
做法:
其实做法不必说,上面的网页里都有stata的dofile,但是R的code我点击却链接不上。
要注意的一点是,stata和R要输出动画,都是以mpeg格式输出的。因此
基本原理就是:
用stata 和R, 先做一个空图,R是做一个完全空的,往上面不断添加点和线,而stata 则是先做一个空图,接着两个软件都开始
做一个循环,R是不断往上添加点线,而stata则是不断的做出一个个图形,比如,如果这个动画包含1000个数据,有1000个变化,那么stata就会做1000个png图片(我做这个图,用了接近20分钟吧,中间stata不断的蹦出来图形,我干脆打开其他东西,让他自己去做。后来忽然想到最后路径别设错了,设错了就又得重新让他再做。还好,福大命大,路径没设错。)
还有一点:stata 和R 产生动画的过程,都是把这些图片合成为mpeg, 需要下载一个专门的mpeg生成软件,这这个网页里有链接
http://www.animatedgraphs.co.uk/ffmpeg.html
需要注意的是,这个软件是绿色的,解压放到电脑里就行,但是建议按照那位老兄的建议,放到c:\programe files\目录下,因为他的dofile最后有一句是 winexec "C:/Program Files/ffmpeg/bin/ffmpeg.exe" ///
如果你把ffmpeg放到其他目录里,就得该这一句。当时我做的时候,忽然想起我的ffmpeg这个目录不是这个,图都做了好几分钟了。所以建议大家把这个ffmpeg还是放到上面的目录里吧。
所有图形都做完,就是ffmpeg工作了,stata可以休息了,电脑会出现蓝色的屏幕的dos窗口,用不了半分钟,就生成动画。
其他的也不说了,因为作者的dofile解释还是很详细的。
最后,我觉得用R更快,因为它不需要做出1000张图,另外也可以不用ffmpeg,直接使用谢益辉的包,可以很方便的生成各种视频格式。
祝大家玩得开心!