2014年10月12日日曜日

SASでアニメーションを作る方法(SAS9.4以降)


SAS9.4から簡単にアニメーションを作れる面白いオプションが出来ました!

まずは適当にサンプルデータ
*** サンプルデータ ;
data DT1;
input SUBJID$ VISIT VAL;
cards;
001 1 50
001 2 200
001 3 420
002 1 150
002 2 300
002 3 480
003 1 100
003 2 360
003 3 400
;

では、適当にグラフを何個か作って、それらを繋げてGIFファイルを作ってみます。
*** GIFファイルを作る ;
options  ANIMATION=START  ANIMDURATION=0.5   PRINTERPATH=GIF ;
ods printer file="出力するパスを指定\test.gif" ;

proc sgplot data=DT1;
   scatter x=SUBJID y=VAL / markerattrs=(size=20);
   yaxis values=(0 to 500 by 100);
   where VISIT=1;
run;

proc sgplot data=DT1;
   scatter x=SUBJID y=VAL / markerattrs=(size=20);
   yaxis values=(0 to 500 by 100);
   where VISIT=2;
run;

proc sgplot data=DT1;
   scatter x=SUBJID y=VAL / markerattrs=(size=20);
   yaxis values=(0 to 500 by 100);
   where VISIT=3;
run;

ods printer close ;
options  ANIMATION=STOP ;



構文解説


options ANIMATION=START  ANIMDURATION=秒数   PRINTERPATH=GIF ;
ods printer file="作るファイルのパスとファイル名";

ANIMATION = START … アニメーションフレームの作成を開始する。
ANIMDURATION = 秒数 … 1つのフレームを表示させる時間を指定。
PRINTERPATH = GIF … 「ods printer」での出力先をGIFファイルに。

あとは、アニメーションで表示させたいものをSGPLOTなどで作ってやる。

ods printer close ;
options  ANIMATION=STOP ;

最後に、ANIMATION=STOPでアニメーションフレームの作成を終了させる。


0 件のコメント:

コメントを投稿