BookmarkSubscribeRSS Feed
sskt
Obsidian | Level 7

連続した質問で申し訳ありません。
_name_, row1,row2の3列のデータで、(_name_がラベル列、rowが座標列です。)
https://blogs.sas.com/content/sastraining/2015/05/12/creating-your-own-customized-graphs-for-sas-ana...
のconfiguration in 3 dimensionsを参考に、0に縦、横の点線がある図を作成したいと思い、ほぼ完成までこぎつけました。
ですが、ラベルが少々長く、またプロット位置が密集しているのもあり文字切れしてしまいます。
そもそも図がもっと大きくても構わないので、大きくするやり方を知りたいです。
密集するのは毎回とは言えないが、どうしても避けられないのでできる範囲で最善を尽くしたいです(ラベルの文字を小さくすべき?できたらその方法も知りたいです)。
proc sgplotのほうが簡単ならそちらでも構わないです。

以下、実行コードです。(ほとんど参考ページのものそのままですが。)

 

WARNING: ポイントラベルに指定する高さによっては、ラベルがグラフ上の他の要素とオーバーラップする場合があります。
NOTE: ポイントラベルが境界線と重なっています。このため、該当するポイントラベルが再配置されます。
NOTE: 41976バイトをC:\output\Sample.pngに書き込みました。

filename grafout "C:\output\Sample.png";
goptions device = png gsfname = grafout gsfmode = replace;

symbol1 value=circle height=2.7pct color=cx003399
pointlabel=(font="albany amt" height=8pt color=gray77 nodropcollisions "#_name_");
axis1 length=5in order=(-3 to 3 by 1) minor=none offset=(0,0) label=(angle=90);
axis2 length=5in order=(-3 to 3 by 1) minor=none offset=(0,0);
title "&title";

proc gplot data=out;
plot row2*row1=1 /
vaxis=axis1 haxis=axis2
vref=0 cvref=cx989ea1 lvref=33
href=0 chref=cx989ea1 lhref=33;
run;
quit;

ods listing close;
ods graphics / reset = all;
ods listing;


最後に一点気になっているのですが、ods htmlでproc gplotしたときの画像ファイルがhtmlファイルの他に生成されるのは仕様でしょうか?

初歩的な質問で申し訳ございませんが、よろしくお願いいたします。

 

追記

goptionsのhsizeとvsizeを調整する、というのを試したのですが余白が大きくなるだけで、肝心の図のサイズに変化がありません…

1 REPLY 1
yu_sas
SAS Employee

SGPLOTのほうが簡単かもしれませんね。以下を参考に調整するのはどうかなと思います。オプションはこちらで。

 

proc sgplot data=sashelp.class;
scatter x=height y=weight / datalabel=name;
run;

 

サンプルデータがあればこのページの方法でDATAステップにして貼ると回答しやすいかもしれません。

HTMLの場合、IMGタグで外部の画像ファイルを表示しているだけですので作成されます。