SASグラフを今の自分が出来る限界までいじってみた。
dm 'log; clear; output; clear';
proc datasets lib = work kill; run;
options linesize=120 pagesize = 300 mprint;
%let execpath = " ";
%let Path = " ";
%macro setexecpath;
%let execpath = %sysfunc(getoption(sysin));
%if %length(&execpath) = 0 %then
%let execpath = %sysget(sas_execfilepath);
data _null_;
do i = length("&execpath") to 1 by -1;
if substr("&execpath", i, 1) = "\" then do;
call symput("Path", substr("&execpath", 1, i));
stop;
end;
end;
run;
%mend setexecpath;
%setexecpath;
libname Out "&Path.";
data Graph;
do x = -3 to 5 by 0.0001;
g = 1; y = pdf('Normal', x, g - 1, sqrt(1 ** 2));output;
g = 2; y = pdf('Normal', x, g - 1, sqrt(1 ** 2));output;
g = 3; y = pdf('Normal', x, g - 1, sqrt(1 ** 2));output;
end;
run;
goptions reset = all;
goptions ftext = '小塚ゴシック Std R' ftitle = 'Times New Roman/it/bo'
htitle = 1.6 htext = 1.6 hsize = 6 in vsize = 6 in;
filename grafout "&Path.graph_g.emf";
goptions device=emf gsfname=grafout gsfmode=replace;
options linesize=120 pagesize = 300;
title f='Times New Roman/it' 'f'
h=1 m=(+0, -0.4) 'X ' h=1.6 m=(+0, +0.4)
f='Times New Roman' '('
f='Times New Roman/it' 'x'
f='Times New Roman' ')';
proc gplot data = Graph;
plot y * x = g / vaxis = axis1 haxis = axis2 legend = legend1
grid lv = 1 cv = cxE9DECA ch = cxFFFFFF noframe;
symbol1 i = splines l = 1 w = 2 c = cx5984B1;
symbol2 i = splines l = 2 w = 2 c = cxCA6E93;
symbol3 i = splines l = 4 w = 2 c = cxA4D57C;
axis1 minor = none label=(a=90 'Density') order=(0 to 0.5 by 0.1);
axis2 minor = none label=(f='Times New Roman/it' 'x') offset=(2, 2);
legend1 position = (top left inside) offset = (2, -1.5)
mode = protect across = 1 shape = symbol(7, 1)
cframe = cxFAFAF8 cborder = cxE9DECA
label = none
value = (
justify = l 'mean = 1'
justify = l 'mean = 2'
justify = l 'mean = 3'
);
run; quit;
オプションたち
autovref autohref grid cautovref cautohref cvref chref lautovref lautohref lvref lhref
autovref, autohref, grid で自動的に参照線が入ります。
cautovref, cautohref, cv(ref) ch(ref) で参照線の色、lautovref, lautohref, lv(ref) lh(ref) で参照線の線種を変更できます。
参照線の色としては、淡い色がおすすめです。
cautovref = cxE9DECA とか、
また、SAS の色指定は、
cautovref = cxXXXXXX
の様な形式でも指定でき、RGB を HEX コードに変換したものになっています。
イタリック体やボールド体のフォントは
"Times New Roman/it" "Times New Roman/bo"
こんな感じに。
強引に添え字を作ることもできます。
title f='Times New Roman/it' 'f' h=1 m=(+0, -0.4) 'X ' h=1.6 m=(+0, +0.4) f='Times New Roman' '(' f='Times New Roman/it' 'x' f='Times New Roman' ')';
参考
カラーパレットを自動作成するサイト数々 [GoodPic.Com]
履歴
2007年ぐらいに書いた記事の移植です。