Hi SAS Friends, I've inherited the following code (test data and code below). It creates .GIF output that advances in integer units ( t_days = 1, 2, 3, 4, 5, 6). However the source dataset advance in units of 0.125 ( t_days = 0.125, 0.25. 0.375. 0.5...), and for the .GIF file to be accurate, need it to advance at those smaller intervals. Any suggestions about how to amend this code to accommodate that? /*****************************************************************/ data test;
input t_days Cp_tot Cp_tot_2;
cards;
t_days Cp_tot Cp_tot_2
0 0 0
0.125 12.829861994 25.659723989
0.25 19.108883486 38.217766972
0.375 21.46446787 42.928935739
0.5 43.097579093 86.195158186
0.625 40.779643827 81.559287653
0.75 37.235330034 74.470660067
0.875 33.220430967 66.440861935
1 50.722202305 101.44440461
1.125 45.724999478 91.449998956
1.25 40.443085571 80.886171143
1.375 35.301262254 70.602524507
1.5 52.072140167 104.14428033
1.625 46.60087866 93.20175732
1.75 41.011472329 82.022944658
1.875 35.670183328 71.340366657
2 52.311658727 104.62331745
2.125 46.756437678 93.512875356
2.25 41.112547745 82.225095491
2.375 35.735895659 71.471791318
2.5 52.354412259 104.70882452
2.625 46.784280561 93.568561122
2.75 41.130702594 82.261405187
2.875 35.747752218 71.495504436
3 52.362171222 104.72434244
3.125 46.789371147 93.578742293
3.25 41.134053396 82.268106793
3.375 35.749966908 71.499933816
3.5 52.363642522 104.72728504
3.625 46.790354788 93.580709575
3.75 41.134716103 82.269432205
3.875 35.750417544 71.500835087
4 52.363952313 104.72790463
4.125 46.790570449 93.581140898
4.25 41.134868374 82.269736748
4.375 35.750526732 71.501053464
4.5 52.364031902 104.7280638
4.625 46.790629446 93.581258893
4.75 41.134912843 82.269825686
4.875 35.750560792 71.501121584
5 52.364058381 104.72811676
5.125 46.790650311 93.581300621
5.25 41.134929479 82.269858958
5.375 35.750574192 71.501148384
5.5 52.364069267 104.72813853
5.625 46.790659217 93.581318434
5.75 41.134936807 82.269873615
5.875 35.75058025 71.501160501
6 52.364074294 104.72814859
;
run;
/* Create macro loop to run proc sgplot */
%macro Series(start=, end=, incr=);
%do time=&start %to &end %by &incr;
proc sgplot data = Sample_2_con;
where t_days le &time;
title "C vs T";
series x = t_days y = Cp_tot;
series x = t_days y = Cp_tot_2; /* each image has two time series */
xaxis integer values = (0 to 7);
yaxis min = 0 max = 120 grid; /* set common axes */
run;
%end;
%mend Series;
/* Create animation */
ods graphics / imagefmt=GIF width=4in height=3in; /* each image is 4in x 3in GIF */
options papersize=('4 in', '3 in') /* set size for images */
nodate nonumber /* do not show date, time, or frame number */
animduration=0.5 animloop=yes noanimoverlay /* animation details */
printerpath=gif animation=start; /* start recording images to GIF */
ods printer file='[INSERT PATH HERE]\An_1.gif'; /* images saved into animated GIF */
/* ods html select none; */ /* suppress screen output */
%Series(start=0, end=6, incr=1);
ods html select all; /* restore screen output */
options printerpath=gif animation=stop; /* stop recording images */
ods printer close; /* close the animated GIF file */ Thank you very much!
... View more