---
title: graphの出力を工夫する
tags:  #[第3回大阪sas勉強会]  
author: [森岡裕[SASユーザー総会世話人]](https://convert.docswell.com/user/6484025)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VJP62LDVE8.jpg?width=480
description: [第3回大阪sas勉強会]淺井 友紀
published: March 31, 24
canonical: https://convert.docswell.com/s/6484025/58GXG7-2024-03-31-111052
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VJP62LDVE8.jpg)

折れ線グラフの出力を工夫する


# Page. 2

![Page Image](https://bcdn.docswell.com/page/2EV3DQ1R7Q.jpg)

折れ線Graph出すときに困ること
•
•
•
•
•
メモリラベル改行したい
上付き/下付き文字を使いたい
補助線を引っ張りたい
群ごとに折れ線をずらして出力したい
標準偏差をエラーバーとしたい
体裁上の要求が多い


# Page. 3

![Page Image](https://bcdn.docswell.com/page/57G3YW26JL.jpg)

目標のグラフ


# Page. 4

![Page Image](https://bcdn.docswell.com/page/4EQ5M3P2JP.jpg)

データ
data hoge ;
call streaminit(111) ;
do G = 1 , 2 ;
do _ID = 1 to 3 ;
do X = 1 to 6 ;
Y = rand(&quot;uniform&quot;) * 10 ;
if X = 5 then Y = . ;
output ;
end ;
end ;
end ;
run ;


# Page. 5

![Page Image](https://bcdn.docswell.com/page/KJ49V1YP71.jpg)

凡例用文字列
%sganno ;
data anno1 ;
%sgtext(label = &quot;--■--&quot; , drawspace = &quot;GRAPHPERCENT&quot; ,
textcolor = &quot;black&quot; , x1 = 20 , y1 = 90) ;
%sgtext(label = &quot;α(*ESC*){sup &#039;2&#039;}A群&quot; , drawspace = &quot;GRAPHPERCENT&quot; ,
textcolor = &quot;black&quot; , x1 = 27 , y1 = 90) ;
%sgtext(label = &quot;―●―&quot; , drawspace = &quot;GRAPHPERCENT&quot; ,
textcolor = &quot;black&quot; , x1 = 20 , y1 = 85) ;
%sgtext(label = &quot;α(*ESC*){sup &#039;2&#039;}B群&quot; , drawspace = &quot;GRAPHPERCENT&quot; ,
textcolor = &quot;black&quot; , x1 = 27 , y1 = 85) ;
run ;


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LE1K3G6XJG.jpg)

グラフ_初期設定
proc sgplot data = HOGE sganno = ANNO1 noautolegend ;
refline 4 / axis = y lineattrs=(pattern=34 color=gray ) ;
styleattrs
datasymbols=(circlefilled squarefilled )
datacontrastcolors=(black)
datalinepatterns=(solid dash)
;


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GEWDPKWKJ2.jpg)

グラフ_折れ線の描画
vline X
/ response = Y
break group = G
groupdisplay = cluster clusterwidth = 0.5
markers
stat = mean limitstat = stddev limits = both
;


# Page. 8

![Page Image](https://bcdn.docswell.com/page/47ZGKZ5NE3.jpg)

グラフ_軸の設定
xaxis
type = discrete
fitpolicy = splitalways
splitchar = &quot;*&quot;
values = (1 to 4 by 1 , 6 )
valuesdisplay = (&quot;ベース*ライン&quot; &quot;2&quot; &quot;3&quot; &quot;4&quot; &quot;最終解析*時点&quot;)
label = &quot;α(*ESC*){unicode &#039;00B2&#039;x}の推移(*ESC*){unicode &#039;0A&#039;x}最終解析含む&quot;
;
yaxis
label = &quot;Y&quot;
values = (-2 to 12 by 2 )
;
run ;


# Page. 9

![Page Image](https://bcdn.docswell.com/page/YJ6YQZ997V.jpg)

Sgtextの補足
%sgtext(label
= &quot;出力したい文字列&quot; ,
drawspace = &quot;出力する場所の指定&quot; ,
textcolor = &quot;文字列の色&quot; ,
x1
= 出力位置のX座標 ,
y1
= 出力位置のY座標 ,
rotate
= 文字列の角度(0-360) ,
textfont = 文字列のfont ,
);


# Page. 10

![Page Image](https://bcdn.docswell.com/page/GJ5GRWNDJ4.jpg)

Drawspace引数
• どこのareaを基準とす
るかを指定する引数
• LAYOUTarea &gt; GRAPTH
area &gt; DATA areaの順に
areaが大きくなる
– (LAYOUT areaは他の
areaを全て含み，
GRAPTHareaはDATAarea
を含む)


# Page. 11

![Page Image](https://bcdn.docswell.com/page/9E2YDQ8MER.jpg)

Drawspace引数
• DATAPERCENT /DATAPIXEL /DATAVALUE
/GRAPHPERCENT /GRAPHPIXEL /LAYOUTPERCENT
/LAYOUTPIXEL のいずれかを指定する．
– DATAVALUEを指定すると，グラフ軸の値を参照して座
標を指定する(軸の外の値は指定できなくなる)
– GRAPHPERCENTを指定すると，GRAPTHareaの下端と
左端が0，上端と右端が100として座標を指定する(0100以外の値は指定できなくなる)
– DATAPERCENTを指定すると，グラフ原点が0，上端と
右端が100として座標を指定する


# Page. 12

![Page Image](https://bcdn.docswell.com/page/D7YG2W6P7M.jpg)

参考文献
• SASのdocument
&lt;http://documentation.sas.com/?cdcId=pgmsascdc&amp;cdcVer
sion=9.4_3.3&amp;docsetId=pgmmvaov&amp;docsetTarget=pgmsaso
v.htm&amp;locale=ja&gt;
• 高浪洋平,舟尾暢男. もしも，SASのSGPLOTとRの
GGPLOT2を比較したら…. 第1回ナニワデータサイエンス
研究会(2016)
• ユニコード一覧
&lt;http://www.asahi-net.or.jp/~ax2skmtn/ref/unicode/u0080.html#u00b2&gt;


