Stata如何绘制多组散点图?


比如绘制两组散点图,Stata代码如下:


sysuse auto, clear
two scatter price mpg if foreign == 1 || scatter price mpg if foreign == 0


可以试试英国杜伦大学(Durham University)的Nicholas J. Cox开发的Stata社区命令linkplot:


ssc install linkplot,replace
linkplot price mpg , link(foreign) asyvars recast(scatter)

缺点是最多可支持15组,一般够用了,如果更多组的话,可以试试巴德学院利维经济研究所的Fernando Rios-Avila开发的Stata社区命令spirograph:


ssc install mscatter,replace
mscatter price mpg , by(foreign)

还可以如上图加上拟合图,Stata代码如下:


webuse nlswork, clear
set seed 10
keep if runiform()<.2
*set scheme white
*color_style tableau
mscatter ln_wage ttl_exp , over(race)  ///
fit(qfitci) ///<-adds quadratic fit with CI
mfcolor(%5) mlcolor(%5) alegend ytitle("Log Wages")