프로그래밍/SAS

003. [proc sgplot] SAS sgplot 여러가지 옵션 (1)

life_is_egg 2021. 8. 20. 16:00
반응형

 목차 

1. 제목, x축, y축 라벨링

2. 글씨 크기 조절

3. Box plot의 box 넓이 조절

4. 그래프 크기 조절


1. 제목, x축, y축 라벨링 (Title & legend & xaxis & yaxis labelling)

 

sas를 이용하여 여러 그래프들을 그리다 보면 제목이나 축 이름을 새로 지정해주고 바꿔줘야 한다.

sgplot에는 많은 옵션들이 있지만 그중 몇 가지만 알아보도록 할 것이다.

그 외 다른 옵션들은 sas 홈페이지에서 찾을 수 있다.

 

plot을 그리기 전 먼저 데이터를 불러온다.

Kaggle에서 받은 데이터를 활용했다.

vgsales_300rank.csv
0.02MB


불러온 데이터셋

sgplot으로 box plot을 그리는 코드는 다음과 같다.

proc sgplot data=plot;
   vbox year/ category=genre;
run; 

vbox에는 연속형 변수(continuous value)를 적고, category에는 범주형 변수(category value)를 적으면 된다.


그래프에 제목, x축, y축을 입력하고 싶다면 아래의 코드에서 3~5행을 추가하면 된다.

Title " 제목 "

Xaxis label = " x축 라벨링"

Yaxis label = "y축 라벨링"

proc sgplot data=plot;
   vbox year/ category=genre;
   TITLE "Genre & Year";
   XAXIS label="Game genre";
   YAXIS label="Release year";
run; 

[왼쪽] 수정 전 > [오른쪽] 수정 후

 


2. 글씨 크기 조절

글씨가 너무 작거나 큰 경우 코드 몇 가지만 추가해서 변경할 수 있다.

라벨링 한 코드 뒤에 labelattrs valueattrs를 적으면 된다. 폰트 사이즈와 크기 등을 조절할 수 있다.

 

labelattrs : x, y축 명

valuattrs : legend(범례)

proc sgplot data=plot;
   vbox year/ category=genre;
   TITLE "Genre & Year";
   XAXIS label='Game genre' labelattrs=(size=13pt weight=bold) valueattrs=(size=11pt weight=bold);
   YAXIS label="Release year" labelattrs=(size=13pt weight=bold) valueattrs=(size=11pt weight=bold);
run; 

 

 

수정된 그래프의 경우 글씨 크기가 더 커지고 굵어진 것을 알 수 있다.

[왼쪽] 수정 전 > [오른쪽] 수정 후


3. Box plot의 box 넓이 조절

SAS로 박스 플랏을 그리면 생각보다 너무 넓게 나오거나 좁게 나오는 경우가 있다.

이때 박스 넓이를 조절하는 방법은 boxwidth를 사용하면 된다.

proc sgplot data=plot;
   vbox year/ category=genre boxwidth=0.8;
   TITLE "Genre & Year";
   XAXIS label='Game genre' labelattrs=(size=13pt weight=bold) valueattrs=(size=11pt weight=bold);
   YAXIS label="Release year" labelattrs=(size=13pt weight=bold) valueattrs=(size=11pt weight=bold);
run; 

 

 

아래 왼쪽 그래프는 기본 넓이가 0.4로 설정되어 있었지만, 0.8로 늘림으로써 넓어진 것을 알 수 있다.

[왼쪽] 수정 전 > [오른쪽] 수정 후


4. 그래프 크기 조절

박스 플랏에서 보기 좋게 박스 넓이도 넓히고 글씨 크기도 키웠지만 그에 비해 그래프가 너무 좁은 것 같은 느낌이 든다.

ODS를 사용하여 그래프 크기를 조절할 수 있다. width, height로 넓이와 높이를 조정한다.

박스플랏 외 다른 그래프를 그릴 때도 사용할 수 있는 코드이다.

ods graphics on / width=8in height=5in;
proc sgplot data=plot;
   vbox year/ category=genre boxwidth=0.8;
   TITLE "Genre & Year";
   XAXIS label='Game genre' labelattrs=(size=13pt weight=bold) valueattrs=(size=11pt weight=bold);
   YAXIS label="Release year" labelattrs=(size=13pt weight=bold) valueattrs=(size=11pt weight=bold);
run; 

 

ods graphics off 코드를 돌리면 다시 원래 크기의 그래프로 돌아온다.

 

- 최종 결과물 -

[왼쪽] 수정 전 > [오른쪽] 수정 후

 

반응형