或いは、あるのかもしれないけど、もはや指定できるオプションが多すぎて、目的のものをうまく探せないっていう。
例えば、聞きたいんですけど、以下のような軸ラベルのグラフをSGで描く場合って皆さん一体どうしてるんです?
軸の値ラベルに改行ってどうしてます?って話です。
そもそもそんなデザインのグラフにしないっていうのはなしで。
離散値であれば、軸のtype=discreteしてsplitcharで指定して区切ればいいですけど、
未だ最新verでも連続量に対応してないですよね?
unicodeで改行コード打ち込んでもなんかうまくいかないです。多分fontを対応しているものに変えればできるんだろうけど、それはしたくない。
やっぱannotateデータセット作ってsgannoで描いてるんでしょうか?
こんなちょっとしたことのために、annotate作るのは正直しゃくですよね。十分慣れてるならいいですけど
ふと思ったんですけど、annotate作るぐらいなら、xaxistableで軸附属表を軸の値ラベルに見せかけてみたらどうです?
本来の軸値ラベルと、軸ラベルは消してしまって、表で表現しちゃうっていう。
実は先の図は実際にその方法(以下のコード)で書いたやつです。
data Q1;
call streaminit(1234);
do i=1 to 10;
X=round(rand('uniform')*10,0.1);
Y=round(rand('uniform')*100,1);
output;
end;
drop i;
run;
data xa;
do X=1 to 10;
xvalue1=cats(X);
xvalue2="時間";
xvalue3="経過後";
if X=5 then xvalue4="経過時間";
else xvalue4 ="";
output;
end;
run;
data A;
set xa Q1;
run;
proc sgplot data=A;
scatter x=X y=Y;
xaxis display=(nolabel novalues) values=(1 to 10 );
xaxistable xvalue1 xvalue2 xvalue3/x=X nolabel;
xaxistable xvalue4/x=X nolabel valueattrs=(size=11) pad=(top=10);
run;
axistableの本来の使用目的から外れている気がしますが、annotateの構造より正直
万人に受け入れやすいと思うんですけど、どうなんでしょう
0 件のコメント:
コメントを投稿