您好,我正在使用分组选项绘制一些数据,并将每个绘制保存到一个单独的文件中。我想给每个绘图标题或脚注添加一个自动图形编号。
假设我有三个按组划分的变量级别,因此我会将三个图保存到三个文件中。我想添加标题或脚注:
title "Figure 01. Plot of #byval"; or footnote "Figure 01. Plot of #byval";
title "Figure 02. Plot of #byval"; or footnote "Figure 02. Plot of #byval";
title "Figure 03. Plot of #byval"; or footnote "Figure 03. Plot of #byval"; 在这里,我手动添加了01,02和03,但我想让它自动化,这样我就可以给出一个起始值,它会自动递增1,直到最后一级的by GROUP变量。
您的帮助我们将不胜感激。谢谢
发布于 2012-02-28 15:18:12
有两个BY变量,其中第一个BY变量是"01“、"02”等,然后使用:
title "Figure #byval1. Plot of #byval2";发布于 2012-02-28 03:52:56
这可以通过宏来完成。下面是一个示例。
%macro bygraph(dset=,byvar=);
%do i=1 %to %sysfunc(countw(&byvar));
%let byvari=%sysfunc(scan(&byvar,&i));
proc sort data=&dset;
by &byvari;
run;
ods rtf file="plot&i..rtf" startpage=no;
/*output,modify as you need.the graph will be stored to plot1.rtf, plot2.rtf... */
proc plot data=&dset;
by &byvari;
plot .... ; /* your plot statements */
title "Figure &i Plot of &byvari";
run;
quit;
ods rtf close;
%end;
%mend;
/* run macro, fill in data set, byvars (separated by blanks) as parameters */
%bygraph(dset=dataset, byvar=var1 var2 var3); run; https://stackoverflow.com/questions/9468152
复制相似问题