1、帶標註的散點圖
sysuse lifeexp, clear
keep if region==2 | region==3
replace gnppc = gnppc / 1000
label var gnppc "GNP per capita (thousands of dollars)"
gen lgnp = log(gnp)
qui reg lexp lgnp
predict hat
label var hat "Linear prediction"
replace country = "Trinidad" if country=="Trinidad and Tobago"
replace country = "Para" if country == "Paraguay"
gen pos = 3
replace pos = 9 if lexp > hat
replace pos = 3 if country == "Colombia"
replace pos = 3 if country == "Para"
replace pos = 3 if country == "Trinidad"
replace pos = 9 if country == "United States"
#delimit ;
twoway
(scatter lexp gnppc, mlabel(country) mlabv(pos))
(line hat gnppc, sort)
, xsca(log) xlabel(.5 5 10 15 20 25 30, grid) legend(off)
title("Life expectancy vs. GNP per capita")
subtitle("North, Central, and South America")
note("Data source: World bank, 1998")
ytitle("Life expectancy at birth (years)")
;
#delimit cr 2、對數座標散點圖
sysuse lifeexp, clear
gen gnp000 = gnppc/1000
label var gnp000 "GNP per capita, thousands of dollars"
scatter lexp gnp000, xsca(log) ///
xlabel(.5 2.5 10(10)40, grid) 3、加權散點圖
sysuse census, clear
gen drate = divorce / pop18p
label var drate "Divorce rate"
scatter drate medage [w=pop18p] if state!="Nevada", msymbol(Oh) ///
note("State data excluding Nevada" ///
"Area of symbol proportional to state's population aged 18+") 4、帶置信區間的直線迴歸圖
sysuse auto, clear
quietly regress mpg weight
predict hat
predict stf, stdf
gen lo = hat - 1.96*stf
gen hi = hat + 1.96*stf
scatter mpg weight || line hat lo hi weight, pstyle(p2 p3 p3) sort 5、指望壽命折線圖
sysuse uslifeexp, clear
gen diff = le_wm - le_bm
label var diff "Difference"
#delimit ;
line le_wm year, yaxis(1 2) xaxis(1 2)
|| line le_bm year
|| line diff year
|| lfit diff year
||,
ylabel(0(5)20, axis(2) gmin angle(horizontal))
ylabel(0 20(10)80, gmax angle(horizontal))
ytitle("", axis(2))
xlabel(1918, axis(2)) xtitle("", axis(2))
ytitle("Life expectancy at birth (years)")
title("White and black life expectancy")
subtitle("USA, 1900-1999")
note("Source: National Vital Statistics, Vol 50, No. 6"
"(1918 dip caused by 1918 Influenza Pandemic)")
legend(label(1 "White males") label(2 "Black males"))
legend(col(1) pos(3))
;
#delimit cr 6、帶置信區間的散點圖
sysuse auto, clear
quietly regress mpg weight
predict hat
predict s, stdf
gen low = hat - 1.96*s
gen hi = hat + 1.96*s
#delimit ;
twoway
rarea low hi weight, sort bcolor(gs14) ||
scatter mpg weight
;
#delimit cr 7、折線、散點複合圖
sysuse sp500, clear
#delimit ;
twoway
line close date, yaxis(1)
||
bar change date, yaxis(2)
||
in 1/52,
ysca(axis(1) r(1000 1400)) ylab(1200(50)1400, axis(1))
ysca(axis(2) r(-50 300)) ylab(-50 0 50, axis(2))
ytick(-50(25)50, axis(2) grid)
legend(off)
title("S&P 500")
subtitle("January - March 2001")
note("Source: Yahoo!Finance and Commodity Systems, Inc.")
yline(1150, axis(1) lstyle(foreground))
;
#delimit cr 8、人口金字塔
sysuse pop2000, clear
replace maletotal = -maletotal/1e+6
replace femtotal = femtotal/1e+6
gen zero = 0
#delimit ;
twoway
bar maletotal agegrp, horizontal xvarlab(Males)
||
bar femtotal agegrp, horizontal xvarlab(Females)
||
sc agegrp zero , mlabel(agegrp) mlabcolor(black) msymbol(i)
||
,
xtitle("Population in millions") ytitle("")
plotregion(style(none))
ysca(noline) ylabel(none)
xsca(noline titlegap(-3.5))
xlabel(-12 "12" -10 "10" -8 "8" -6 "6" -4 "4" 4(2)12 , tlength(0)
grid gmin gmax)
legend(label(1 Males) label(2 Females)) legend(order(1 2))
title("US Male and Female Population by Age, 2000")
note("Source: U.S. Census Bureau, Census 2000, Tables 1, 2 and 3")
;
#delimit cr 9、折線穗式圖
sysuse sp500, clear
#delimit ;
twoway line close date, yaxis(1) || spike change date, yaxis(2) ||,
yscale(axis(1) r(700 1400)) ylabel(1000(100)1400, axis(1))
yscale(axis(2) r(-50 300)) ylabel(-50 0 50, axis(2))
ytick(-50(25)50, axis(2) grid)
legend(off)
title("S&P 500")
subtitle("January - December 2001")
note("Source: Yahoo!Finance and Commodity Systems, Inc.")
yline(950, axis(1) lstyle(foreground))
;
#delimit cr 10、針式圖
sysuse lifeexp, clear
keep if region==3
gen lngnp = ln(gnppc)
quietly regress le lngnp
predict r, resid
twoway dropline r gnp, ///
yline(0, lstyle(foreground)) mlabel(country) mlabpos(9) ///
ylab(-6(1)6) ///
subtitle("Regression of life expectancy on ln(gnp)" "Residuals:" " ", pos(11)) ///
note("Residuals in years; positive values indicate" "longer than predicted life expectancy") 11、直方圖
sysuse sp500, clear
#delimit ;
histogram volume, freq
xaxis(1 2)
ylabel(0(10)60, grid)
xlabel(12321 "mean"
9735 "-1 s.d."
14907 "+1 s.d."
7149 "-2 s.d."
17493 "+2 s.d."
20078 "+3 s.d."
22664 "+4 s.d.", axis(2) grid gmax)
xtitle("", axis(2))
subtitle("S&P 500, January 2001 - December 2001")
note("Source: Yahoo!Finance and Commodity Systems, Inc.")
;
#delimit cr 12、帶擬合分佈曲線的直方圖
sysuse sp500, clear
#delimit ;
histogram volume, freq normal
xaxis(1 2)
ylabel(0(10)60, grid)
xlabel(12321 "mean"
9735 "-1 s.d."
14907 "+1 s.d."
7149 "-2 s.d."
17493 "+2 s.d."
20078 "+3 s.d."
22664 "+4 s.d."
, axis(2) grid gmax)
xtitle("", axis(2))
subtitle("S&P 500, January 2001 - December 2001")
note("Source: Yahoo!Finance and Commodity Systems, Inc.")
;
#delimit cr 十3、折線穗式條形複合圖
sysuse sp500, clear
replace volume = volume/1000
#delimit ;
twoway
rspike hi low date ||
line close date ||
bar volume date, barw(.25) yaxis(2) ||
in 1/57
, ysca(axis(1) r(900 1400))
ysca(axis(2) r( 9 45))
ylabel(, axis(2) grid)
ytitle(" Price -- High, Low, Close")
ytitle(" Volume (millions)", axis(2) bexpand just(left))
legend(off)
subtitle("S&P 500", margin(b+2.5))
note("Source: Yahoo!Finance and Commodity Systems, Inc.")
;
#delimit cr 十4、區間圖
sysuse sp500, clear
gen month = month(date)
sort month
by month: egen lo = min(volume)
by month: egen hi = max(volume)
format lo hi %10.0gc
by month: keep if _n==_N
#delimit ;
twoway rcap lo hi month,
xlabel(1 "J" 2 "F" 3 "M" 4 "A" 5 "M" 6 "J"
7 "J" 8 "A" 9 "S" 10 "O" 11 "N" 12 "D")
xtitle("Month of 2001")
ytitle("High and Low Volume")
yaxis(1 2) ylabel(12321 "12,321 (mean)", axis(2) angle(0))
ytitle("", axis(2))
yline(12321, lstyle(foreground))
msize(*2)
title("Volume of the S&P 500", margin(b+2.5))
note("Source: Yahoo!Finance and Commodity Systems Inc.")
;
#delimit cr 十5、區域圖
sysuse gnp96, clear
#delimit ;
twoway area d.gnp96 date, xlabel(36(8)164, angle(90))
ylabel(-100(50)200, angle(0))
ytitle("Billions of 1996 Dollars")
xtitle("")
subtitle("Change in U.S. GNP", position(11))
note("Source: U.S. Department of Commerce, Bureau of Economic Analysis")
;
#delimit cr 十6、根據函數製做的曲線圖
#delimit ;
twoway function y=exp(-x/6)*sin(x), range(0 12.57)
yline(0, lstyle(foreground))
xlabel(0 3.14 "pi" 6.28 "2 pi" 9.42 "3 pi" 12.57 "4 pi")
plotregion(style(none))
xscale(noline)
;
#delimit cr 十7、正態曲線下的面積圖
#delimit ;
twoway
function y=normden(x), range(-4 -1.96) bcolor(gs12) recast(area) ||
function y=normden(x), range(1.96 4) bcolor(gs12) recast(area) ||
function y=normden(x), range(-4 4) clstyle(foreground) ||,
plotregion(style(none))
yscale(off) xscale(noline)
legend(off)
xlabel(-4 "-4 sd" -3 "-3 sd" -2 "-2 sd" -1 "-1 sd" 0 "mean"
1 "1 sd" 2 "2 sd" 3 "3 sd" 4 "4 sd", grid gmin gmax)
xtitle("")
;
#delimit cr 十8、指望壽命曲線圖
sysuse uslifeexp, clear
#delimit ;
twoway line le year || fpfit le year ||,
ytitle("Life Expectancy, years")
xlabel(1900 1918 1940(20)2000)
title("Life Expectancy at Birth")
subtitle("U.S., 1900-1999")
note("Source: National Vital Statistics Report, Vol. 50 No. 6")
legend(off)
text(48.5 1923
"The 1918 Influenza Pandemic was the worst epidemic"
"known in the U.S."
"More citizens died than in all combat deaths of the"
"20th century.", box place(se) just(left) margin(l+4 t+1 b+1) width(85))
;
#delimit cr 十9、矩陣圖
sysuse lifeexp, clear
gen lgnppc = ln(gnppc)
gr matrix popgr lexp lgnp safe 二10、半對角矩陣圖
sysuse lifeexp, clear
generate lgnppc = ln(gnppc)
graph matrix popgr lgnp safe lexp, half 二11、帶網格線的矩陣圖
sysuse lifeexp, clear
generate lgnppc = ln(gnppc)
graph matrix popgr lgnp safe lexp, maxes(ylab(#4, grid) xlab(#4, grid)) 二12、帶上標題、標註、網格線的矩陣圖
sysuse lifeexp, clear
generate lgnppc = ln(gnppc)
label var lgnppc "ln GNP per capita"
#delimit ;
graph matrix popgr lgnp safe lexp,
maxes(ylab(#4, grid) xlab(#4, grid))
subtitle("Summary of 1998 life-expectancy data")
note("Source: The World Bank Group")
;
#delimit cr 二十3、橫向組合折線圖
sysuse uslifeexp, clear
line le_male year, saving(male)
line le_female year, saving(female)
graph combine male.gph female.gph, ycommon 二十4、縱向組合折線圖
sysuse uslifeexp, clear
line le_male year, ylab(,grid) saving(male)
line le_female year, ylab(,grid) saving(female)
gr combine male.gph female.gph, col(1) scale(1) 二十5、複合矩陣圖
sysuse lifeexp, clear
gen loggnp = log10(gnppc)
label var loggnp "Log base 10 of GNP per capita"
#delimit ;
scatter lexp loggnp, yscale(alt) xscale(alt) xlabel(, grid gmax) saving(yx)
twoway histogram lexp, fraction xscale(alt reverse) horiz saving(hy)
twoway histogram loggnp, fraction yscale(alt reverse)
ylabel(,nogrid) xlabel(,grid gmax) saving(hx)
;
graph combine hy.gph yx.gph hx.gph, hole(3)
imargin(0 0 0 0) graphregion(margin(l=22 r=22))
title("Life expectancy at birth vs. GNP per capita")
note("Source: 1998 data from The World Bank Group")
;
#delimit cr
二十6、面積不等的複合矩陣圖
sysuse lifeexp, clear
gen loggnp = log10(gnppc)
label var loggnp "Log base 10 of GNP per capita"
#delimit ;
scatter lexp loggnp, yscale(alt) xscale(alt) xlabel(, grid gmax) saving(yx)
twoway histogram lexp, fraction xscale(alt reverse) horiz fxsize(25) saving(hy)
twoway histogram loggnp, fraction
yscale(alt reverse) ylabel(0(.1).2, nogrid)
xlabel(,grid gmax) fysize(25)
saving(hx) ;
graph combine hy.gph yx.gph hx.gph, hole(3)
imargin(0 0 0 0) graphregion(margin(l=22 r=22))
title("Life expectancy at birth vs. GNP per capita")
note("Source: 1998 data from The World Bank Group") ;
#delimit cr 二十7、生存曲線
sysuse cancer, clear
stset studytime, fail(died)
streg, distribution(exponential)
predict S, surv
sts graph, plot(line S _t, sort) 二十8、複式條圖
sysuse citytemp, clear
#delimit ;
graph bar tempjuly tempjan, over(region) bargap(-30)
legend( label(1 "July") label(2 "January") )
ytitle("Degrees Fahrenheit")
title("Average July and January temperatures")
subtitle("by regions of the United States")
note("Source: U.S. Census Bureau, U.S. Dept. of Commerce") ;
#delimit cr 二十9、帶標註的複式條圖
sysuse citytemp, clear
#delimit ;
graph bar tempjuly tempjan, over(region) bargap(-30)
legend( label(1 "July") label(2 "January") )
ytitle("Degrees Fahrenheit")
title("Average July and January temperatures")
subtitle("by regions of the United States")
note("Source: U.S. Census Bureau, U.S. Dept. of Commerce")
blabel(bar, position(inside) format(%9.1f) color(white)) ;
#delimit cr 三10、分組複式條圖
sysuse citytemp, clear
#delimit ;
graph bar (mean) tempjuly tempjan,
over(division, label(labsize(*.75)))
over(region)
bargap(-30) nofill
ytitle("Degrees Fahrenheit")
legend( label(1 "July") label(2 "January") )
title("Average July and January temperatures")
subtitle("by region and division of the United States")
note("Source: U.S. Census Bureau, U.S. Dept. of Commerce") ;
#delimit cr 三11、水平分組複式條圖
sysuse citytemp, clear
#delimit ;
graph hbar tempjan, over(division) over(region) nofill
ytitle("Degrees Fahrenheit")
title("Average January temperature")
subtitle("by region and division of the United States")
note("Source: U.S. Census Bureau, U.S. Dept. of Commerce") ;
#delimit cr
三12、分組複式條圖
sysuse nlsw88, clear
#delimit ;
graph bar wage, over(smsa, descend gap(-30)) over(married)
over(collgrad, relabel(1 "Not college graduate" 2 "College graduate"))
ytitle("")
title("Average Hourly Wage, 1988, Women Aged 34-46")
subtitle("by College Graduation, Marital Status, and SMSA residence")
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics") ;
#delimit cr
三十3、水平堆積條圖
sysuse educ99gdp, clear
generate total = private + public
#delimit ;
graph hbar (asis) public private,
over(country, sort(total) descending) stack
title("Spending on tertiary education as % of GDP, 1999",
span pos(11))
subtitle(" ")
note("Source: OECD, Education at a Glance 2002", span) ;
#delimit cr 三十4、水平條圖
sysuse nlsw88, clear
#delimit ;
graph hbar wage, over(ind, sort(1)) over(collgrad)
title("Average hourly wage, 1988, women aged 34-46", span)
subtitle(" ")
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics", span)
ysize(7) ;
#delimit cr 三十5、帶標註的橫向組合條圖
sysuse nlsw88, clear
#delimit ;
graph hbar wage, over( occ, axis(off) sort(1) )
blabel( group, pos(base) color(bg) )
ytitle( "" )
by( union,
title("Average Hourly Wage, 1988, Women Aged 34-46")
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics") ) ;
#delimit cr 三十6、帶參考線的分類散點圖
sysuse nlsw88, clear
#delimit ;
graph dot wage, over(occ, sort(1))
ytitle("")
title("Average hourly wage, 1988, women aged 34-46", span)
subtitle(" ")
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics", span) ;
#delimit cr 三十7、帶參考線的分類散點圖
sysuse nlsw88, clear
#delimit ;
graph dot (p10) p10=wage (p90) p90=wage,
over(occ, sort(2))
legend(label(1 "10th percentile") label(2 "90th percentile"))
title("10th and 90th percentiles of hourly wage", span)
subtitle("Women aged 34-46, 1988" " ", span)
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics", span) ;
#delimit cr 三十8、帶參考線橫向組合的分類散點圖
sysuse nlsw88, clear
#delimit ;
graph dot wage,
over(occ, sort(1))
by(collgrad,
title("Average hourly wage, 1988, women aged 34-46", span)
subtitle(" ")
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics", span) );
#delimit cr 三十9、箱式圖(鬚髯圖)
sysuse bplong, clear
#delimit ;
graph box bp,
over(when) over(sex)
ytitle("Systolic blood pressure")
title("Response to treatment, by Sex")
subtitle("(120 Preoperative Patients)" " ")
note("Source: Fictional Drug Trial, Stata Corporation, 2003") ;
#delimit cr 四10、水平箱式圖(鬚髯圖)
sysuse nlsw88, clear
#delimit ;
graph hbox wage,
over(ind, sort(1)) nooutside
ytitle("")
title("Hourly wage, 1988, woman aged 34-46", span)
subtitle(" ")
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics", span) ;
#delimit cr 四11、橫向組合水平箱式圖(鬚髯圖)
sysuse nlsw88, clear
#delimit ;
graph hbox wage,
over(ind, sort(1)) nooutside
ytitle("")
by(union,
title("Hourly wage, 1988, woman aged 34-46", span)
subtitle(" ")
note("Source: 1988 data from NLS, U.S. Dept. of Labor, Bureau of Labor Statistics", span) );
#delimit cr |