본문 바로가기

SAS

[SAS>GRAPH] 출력형태 조절을 위한 제어문: AXIS

반응형

작성일: 2018.02.09

작성자: 춤추는초코칩

참고문헌: 예제로 배우는 SAS 프로그래밍 입문

참고사이트: http://documentation.sas.com/?docsetId=graphref&docsetTarget=p0rvgwbkch5iqsn1rghqth2dl59y.htm&docsetVersion=9.4&locale=ko

 

도표나 PLOT에서 축의 형태, 위치, 값의 범위를 지정하여 

축을 디자인할 때 사용하는 AXIS 명령문에 대해 알아보자.


AXISn <option(s)>;


1. n은 축의 종류를 구별할 때 사용되는 번호로 최대 99개의 축을 정의할 수 있다.

2. 많이 쓰이는 옵션

  - COLOR|C=: 축의 색깔(BLACK, RED, GREEN, BLUE, ORANGE, PINK, BROWN, GRAY, MAGENTA, CYAN, YELLOW, WHITE )

  - LABEL=(ANGLE=각도 COLOR=색깔 FONT=글자체 HEIGHT=크기 JUSTIFY=LEFT|CENTER|RIGHT ROTATE=각도 '이름'): 좌표 축의 이름을 지정

  - MAJOR=(COLOR=색깔 HEIGHT=크기 NUMBER=눈금의 수 WIDTH=눈금의 두께): 주눈금의 속성을 지정

  - MINOR=(COLOR=색깔 HEIGHT=크기 NUMBER=눈금의 수 WIDTH=눈금의 두께): 보조눈금의 속성을 지정

  - OFFSET(시작위치, 끝위치): 수평축과 수직축에서 주눈금의 시작과 끝위치를 지정

  - ORDER=(시작위치 TO 끝위치 BY 증가분): 축의 시작과 끝위치를 주눈금으로 표시

  - WIDTH|W=: 축의 두께. 1이상의 값

  - VALUE=: 주눈금값을 특정한 문자나 이름 사용

  - TICK=n: n번째 주눈금의 속성을 지정


예제

/*  예제 데이터 */

DATA HTWT;

  INPUT  ID $   SEX $   AGE   WEIGHT   HEIGHT;

  CARDS;

 101 M 14 59.0 167.5

 102 F 13 56.5 160.0

 103 F 13 55.0 156.0

 104 M 14 62.5 169.5

 105 M 14 66.5 168.5

 106 F 12 56.0 155.0

 107 F 12 50.0 160.5

 108 F 15 61.5 165.5

 109 M 13 55.5 158.0

 110 M 12 49.0 159.5

 111 F 11 51.5 161.5

 112 F 14 60.5 166.0

 113 F 12 46.0 155.0

 114 F 15 56.5 164.0

 115 M 16 62.0 172.5

 116 M 12 54.0 162.0

 117 M 15 61.0 163.0

 118 M 11 52.5 152.0

 119 M 15 58.5 162.0

;

run;


/*1번 axis*/

axis1

color='orange'

label=(angle=-90 height=3 rotate=90  '신장')

major=(color='black' height=1 width=3)

minor=none

order=(150 to 180 by 5)

width=3

;


/*2번 axis*/

axis2

color='blue'

label=(color='magenta' height=2 '연령대별')

order=(40 to 70 by 5)

offset=(5,5)

value=(tick=1 height=1 '40살'

tick=2 height=2 color='black' '45살'

tick=3 height=3 color='green' '50살'

tick=4 height=4 color='yellow' '55살'

tick=5 height=5 color='white' '60살'

tick=6 height=6 color='cyan' '65살'

tick=7 height=7 '75살')

;


/*axis를 적용하지 않고 그리기*/

PROC GPLOT data=HTWT;

  PLOT HEIGHT*WEIGHT;

RUN;


/*axis를 적용해서 그리기*/

PROC GPLOT data=HTWT;

  PLOT HEIGHT*WEIGHT / vaxis=axis1 haxis=axis2;

RUN;



반응형