글

라벨이 graph인 게시물 표시

그래프 그리기 07:= OECD 국가들의 개인소득세 최고세율의 변화: 1981~2010:= 막대그래프

이미지
아래의 그래프는 OECD 국가들의 개인소득세의 최고세율 변화(1981,1990,2000, 2010)를 보여주고 있는데요.... 와!! 대단하죠...예전에는 최고세율이 상당히 높았군요...근데 지금은 많이 떨어졌네요... 이것이 양극화의 원인일까요? 적어도 부분적으로는 그래 보입니다.... 여하튼 이것은 엑셀에서 작성한 것입니다.... 엑셀도 좋은 프로그램이죠..ㅋ 좀 더 구체적으로 말하면, 국가별로 4개 연도씩 묶어서 막대그래프를 그려야 하고, 평균치를 의미하는 선과, 화살표, 설명이 있습니다. Source: OECD(2012), "Trends in personal income tax and employee social security contribution schedules" // 동일한 데이터에 대해 스타타를 이용해서 작성한 것입니다. // 먼저,  국가별로 4개 연도씩 묶어서 막대그래프는 graph bar [ 각연도별 변수 ], over( groupbar ) 를 이용해 그립니다. #delimit ;   graph bar incometax1981  incometax1990 incometax2000 incometax2010  ,    over(country,gap(*2.5) label(angle(ninety) labsize(vsmall)) sort(incometax1981) descending)     ylabel(0(10)100, grid angle(horizontal) labsize(vsmall))      legend(order(1 "1981" 2 "1990" 3 "2000" 4 "2010") row(1) size(small) position(12) ring(0) region(lcolor(none)) fcolor(none) )   scheme(economist) ...

그래프 그리기 04:= 특정 시기에 음영 넣기:= OECD 국가들의 총조세와 사회지출이 GDP에서 차지하는 비중(1980~2012)

이미지
// 간혹, 아니 어찌보면 자주 그래프에 특정 시기를 음영으로 넣고 싶을 때가 있죠!! // 예를 들어, 각 정권 기간 동안 거시변수가 어떤 추이를 비교하거나, 특정 사건 전후로 달라지는 추이를 비교하는 경우...  // 오늘의 사례는 "2007년 금융위기 이후 OECD 국가들의 총조세와 사회지출이 GDP에서 차지하는 비중(1980~2012)"으로서, 2007년 금융위기 이후 기간을 음영으로 표시하는 것입니다.  // 먼저, 자료에 대한 간단한 설명을 하자면, // 기간은 1980~2012년 // 변수: 1) ser (복지지출 비중),  2) tax (총조세 비중) , 3) yr  (연도) , 4) country (국가명 및 OECD 평균) // 보통 두 시계열 변수에 대한 선그래프는 다음과 같이 하면 되죠... twoway     /// (line ser yr if country == "OECD - Total",lpattern(solid))  /// (line tax yr if country == "OECD - Total",lpattern(dash)) // 자 이제 여기에 음영을 넣어볼까요.... twoway /// (function y=26.9, range(2007 2013) recast(area) color(gs13) base(15.5) ) // 이게 무슨 말인가 하면, y=26.9 라는 직선을 그려라... 이때, x축의 범위는 2007~2013이고, 그래프는 영역형태이며  recast(area) ,  색깔은 회색이고, 최소값은 15.5이다. // 당연히 그리려는 그래프마다 바꿔줘야 하는 것은  26.9와 15.5라는 숫자이고, 기간 연도 역시 바꾸면 되겠죠... // 그런데 문제는 이렇게 음영을 그리면 회색영역이 생뚱맞게 있다는 점...그래서 회색영역에 눈금을 알 수 있는 선(grid)을 그어줘야 품질좋은 ...

그래프 그리기 02:= 막대(bar) 그래프

이미지
* 스타타에서 막대그래프는 약간 불편하다. 두 변수를 서로 다른 막대로 그리기도 어렵고, 값을 그래프 안에 넣기도 어렵다... ㅠ.ㅠ // 오늘 그래프를 만들 데이터는 다음과 같다. // yr을 x축, 나머지 세변수를 y축... // 세 변수 중 B, C는 막대그래프 좌축 // D는 선연결그래프로 우축으로... // 이 경우, 대부분은 이렇게 그리겠죠.... #delimit ; twoway (bar var_B yr) (bar var_C yr) (connected var_D yr, yaxis(2) mlabel(var_D)  mlabposition(12))   ,    ytitle("근로자수(천명)")    ytitle("비정규직 비중(%)", axis(2))    ylabel(0(2000)20000, angle(horizontal))     ylabel(0(5)40, axis(2) angle(horizontal) )    xtitle("")    xlabel(2001(1)2012 , labsize(medium) alternate )    legend(order(1 "`mylab_B'" 2 "`mylab_C'"  3 "`mylab_D'" ) rows(1))     scheme(sj)  ; * 그래서 다음과 같이 해보죠... format var_D %16.1f                // 비율을 소수점 1자리수로... format var_B var_C %16.0fc     // 1000단위로 콤마를 넣고.. // 핵심... gen yr2 = yr + 0.2 gen yr3 = yr - 0.2 #delimit ; twoway...

그래프 그리기 01

이미지
  * 이런 그래프를 그리는 방법.. #delimit ; ** 1.1. 소득계층/급여종별 가입개월수 ; twoway   (line myval sim_yy if vartype == 6 &  qtype == 1, sort lwidth(thick) lcolor(gs10)   lpattern(dash))          (line myval sim_yy if vartype == 6 &  qtype == 2, sort lwidth(thick) lcolor(gs14)  lpattern(solid))          (line myval sim_yy if vartype == 6 &  qtype == 3, sort lwidth(thick) lcolor(gs10)  lpattern(solid))          (line myval sim_yy if vartype == 6 &  qtype == 4, sort lwidth(thick) lcolor(gs5)   lpattern(solid))          (line myval sim_yy if vartype == 6 &  qtype == 5, sort lwidth(thick) lcolor(black) lpattern(solid))          if bentype != 99            , by(bentype,rows(1))  by(, note(""))    ytitle(가입개월수)    ylabel(120(60)360, angl...