본문 바로가기

MySTATA/그래프 다루기

많은 계열이 존재하는 그래프 쉽게 그리기

5세 연령대별 인구 비중 추이: 15~64세, 1985~2020.

# 사례: 연령집단이 10개인 경우

# 코딩이 지나치게 길어지고, 범례(legend)를 통해서 구분하기가 어려움

# 데이터 형태

# 완성된 코드문 

levelsof grp_age if DBtype=="ALL" & Prdtype=="5년간격" & Grptype=="Only:연령"   , loc(ctrs)

// Main --- 선그래프... 
loc clist = ""
foreach cc of loc ctrs {
   loc clist = "`clist'  (line r_pop_ByG year if grp_age==`cc' )"
}
// Sub --- 각 집단을 구분하기 위한 라벨을 붙이기 위한 scatter 
loc clist_sub = ""
foreach cc of loc ctrs {
    loc clist_sub = "`clist_sub'  (scatter r_pop_ByG year if grp_age==`cc' & year==1985 , mlabel(grp_age)  mlabposition(9) msize(vsmall) mlabgap(minuscule) msymbol(circle) mcolor(gs7))"
}

#delimit ; 
twoway   `clist' `clist_sub'  if DBtype=="ALL" & Prdtype=="5년간격" & Grptype=="Only:연령"  ,  
          legend(off)  

xlabel(1980(5)2020, ticks labsize(small))      ylabel(#8,angle(0) labsize(small)) 
graphregion(col(white) )      xtitle("")   ytitle("")    scheme(sj)  ; 
#delimit cr 

graph export "$PnL_Anal\01_그래프\gr05_기초통계_연령인구비.png", as(png) width(1200) replace