그래프 그리기 08:= 값라벨을 하나의 관측치에만 붙이기

// 단독직입적으로 시작합니다....
// 다음과 같은 자료가 있습니다.


// 21개 등급(grd)별로 그 순위(gwon)가 있습니다. 여기서 보여지는 것은 한 개인만을 보여주고 있지만, 예를 들어 여러 명의 각 등급별 순위가 있는 그래프를 그리기 위한 것이 오늘 소개하는 내용입니다.
사실, 이러한 경우 범례(legend)를 이용하여 구분하는 것은 아래와 같이 매우 복잡합니다.
무슨 지하철 노선도 같네요...그게 아닌데 ㅠㅠ


그래서 각 관측치별로 값을 라벨로 넣어서 구분하는 방법도 있습니다...
twoway  (connected gwon grd if model == "BASE" , sort mlabel(model) mlabp(12)) 


하지만, 이것도 여러 개를 그리면 너무 복잡해서리~~ 
 twoway
(connected gwon grd if model == "BASE" , sort mlabel(model) mlabp(12))
(connected gwon grd if model == "S1-21", sort mlabel(model))
........


그런데 이렇게 그리면 어떤가요?!!^.^ 


이렇게 하기 위해선 하나의 새로운 변수를 만듭니다. 이때, 21개 등급에 해당하는 관측치에만 값을 넣는게 핵심입니다.

gen mymod = model if grd == 21


보시는 바와 같이, grd가 21인 경우에만 그래프의 라벨로 사용하고 싶은 값을 넣으면 됩니다.  
그런다음, 다음과 같이 라벨로 쓸 변수로 새롭게 만든 변수를 이용하면 되죠^^
twoway  
(connected gwon grd if model == "BASE", mlabel(mymod)  mlabp(3) sort) 
(connected gwon grd if model == "S1-21", mlabel(mymod) mlabp(3) sort)
(connected gwon grd if model == "S1-22", mlabel(mymod) mlabp(2) sort)
(connected gwon grd if model == "S1-23", mlabel(mymod) mlabp(3) sort)
(connected gwon grd if model == "S2-1", mlabel(mymod)  mlabp(3) sort)
(connected gwon grd if model == "S2-2", mlabel(mymod)  mlabp(3) sort)
(connected gwon grd if model == "S2-3", mlabel(mymod)  mlabp(3) sort)
(connected gwon grd if model == "S3-1", mlabel(mymod)  mlabp(3) sort)
(connected gwon grd if model == "S3-2", mlabel(mymod)  mlabp(3) sort)

여기서 빨간색 잘 보이시죠?  그게 라벨로 쓸 변수명입니다. 
그리고 mlabp(3)이라는 부분이 그 라벨을 관측치를 중심으로 라벨의 위치를 정하는 것인데, 그것은 시계에서 시간을 의미하는 숫자를 연상하면 되겠습니다. 

자!  또하나의 팁...(사실 팁도 아니지만...ㅋ)  마지막 값이 동일한 경우도 있겠죠...  그런 경우에는 노란색으로 보이는 것처럼 겹치는 계열 중 하나의 라벨 위치를 좀 바꾸면 되겠습니다.  

행운이 있기를!!!





댓글

이 블로그의 인기 게시물

pdf 문자 인식(OCR)

그래프 그리기 05:= EU-15 국가들의 GDP 대비 사회지출 비중과 사회지출 대비 사회보장기여금의 비중:= 4사분면 만들기

그래프 그리기 06:= 등탄력적 효용함수 그래프 그리기