[h2][/url][/h2]编译:张晓明 (中国人民大学);连玉君(中山大学)
Stata 连享会: 知乎 | 简书 | 码云
下载 dofile: 连享会-十幅经典图形绘制.do (可右击另存,亦可在线查看) [url=http://mp.weixin.qq.com/s?__biz=MzAwMzk4ODUzOQ==&mid=2247485104&idx=1&sn=8c47b6a91d36cd81fc57f9b9cdd550b6&chksm=9b338be4ac4402f2e2b7358a827202258691bdd76d656d07eca27ce50905f1d47dd6042e0071&scene=21#wechat_redirect]python 爬虫与文本分析专题-现场班
文中包含的链接在微信中无法生效。请点击本文底部左下角的,转入本文。Source: https://www.surveydesign.com.au/tipsgraphs.html该网站提供了几十种 Stata 图形的绘制方法 (dofile)
https://www.surveydesign.com.au/tipsgraphs.html 提供了几十种 Stata 图形的绘制方法
[h2]1. 散点图:附加密度函数图和拟合线(Scatter Plot with Regression Results)[/h2]附加密度函数和拟合曲线的散点图能够更好地看清样本的概率分布,同时能够表示出参数估计的置信区间。
F1_Scatter_distribution- cd D:\myfigs // 后文输出的图形自从存储于此处
复制代码
- version 9.2 //绘制这幅图的时候,需要加这条命令,后续版本的stata绘图命令的语法有所改变
复制代码
- regress mpg weight weight2
复制代码
- scatter mpg weight , pstyle(p3) ms(o) ||
复制代码- fn weight[3] - 1000 * normden(x, `=fit[3]' , `=se[3]') ,
复制代码- range(`=fit[3] -5' `=fit[3] +5') horiz pstyle(p1) ||
复制代码- fn `=fit[3]' , range(`=weight[3]' `=weight[3]-1000*normden(0, se[3])')
复制代码- fn weight[17] - 1000 * normden(x, `=fit[17]', `=se[17]') ,
复制代码- range(`=fit[17]-5' `=fit[17]+5') horiz pstyle(p1) ||
复制代码- fn `=fit[17]', range(`=weight[17]' `=weight[17]-1000*normden(0, se[17])')
复制代码- fn weight[21] - 1000 * normden(x, `=fit[21]' , `=se[21]') ,
复制代码- range(`=fit[21] -7' `=fit[21] +7') horiz pstyle(p1) ||
复制代码- fn `=fit[21]', range(`=weight[21]' `=weight[21]-1000*normden(0, se[21])')
复制代码- line fit weight, clwidth(*2) legend(off)
复制代码- ytitle(Miles per gallon) xtitle(Weight)
复制代码- title("Scatter with Regression Line and Confidence Interval Densities"
复制代码- , size(*0.8) margin(t=0 b=1.5) span)
复制代码
- graph export "F1_Scatter_distribution.png", ///
复制代码- replace width(506) height(376)
复制代码 [h2]2. 三变量比例图 (triplot)[/h2]三变量比例图可以显示出三个变量之间的复杂的组合关系,三个变量比例的取值范围为1~100。
F2_triplot
- * Plots 3 variables (proportions or percentages)
复制代码- * the total of each to equal either 1 or 100
复制代码
- ssc install triplot, replace // 下载命令
复制代码
- input a1 a2 a3 str10 name
复制代码
- mlabel(name) mlabcolor(black) mcolor(blue) ///
复制代码- mlabsize(*0.9) max(100) ///
复制代码- title("Opinion a1 a2 a3")
复制代码
- graph export "F2_triplot.png", ///
复制代码- replace width(506) height(376)
复制代码 [h2]3. 点图:图示政策效果(Stripplot)[/h2]如果将本例中的纵轴分组变量换成年份,则这幅图可以在倍分法回归分析之前,图示政策效果。
F3_triplot - 图示双重差分\倍分法政策效果
- ssc install stripplot, replace // 下载并更新命令
复制代码
- egen group = group(age sex), label
复制代码
- stripplot bp*, bar over(when)
复制代码- by(group, compact col(1) note(""))
复制代码- subtitle(, pos(9) ring(1) nobexpand
复制代码- bcolor(none) placement(e))
复制代码- xtitle("Blood pressure (mm Hg)") ;
复制代码
- graph export "F3_triplot.png", ///
复制代码- replace width(531) height(394)
复制代码 [h2]4. 雷达图\蜘蛛网图 (Radar Plot, Spider plots)[/h2]雷达图在市场营销和管理学中应用较为广泛,主要用于呈现某个对象的各方面特征的均衡度,正所谓 “尺有所短寸有所长”。
F4_radar_plot-雷达图\蜘蛛网图
- ssc install radar, replace //下载外部命令
复制代码
- radar make turn mpg trunk in 1/20,
复制代码- title(Nice Radar graph, size(*0.6))
复制代码- lw(*1 *2 *4) rlabel(0 12 14 18 50) labsize(*0.7)
复制代码- legend(label(1 "mpg-油效(英里/加仑)")
复制代码- label(3 "trunk-后备箱容积(立方英尺)")
复制代码
- graph export "F4_radar_plot.png", ///
复制代码- replace width(431) height(394)
复制代码 [h2]5. 快捷诊断图(Sixplot)[/h2]快捷诊断图针对一个变量提供了六幅分析性的、描述性的图片
image.png
- *-Goal: Displays six diagnostic and descriptive graphs for a single variable
复制代码
- ssc install sixplot //下载命令
复制代码
- graph export "F5_sixplot.png", ///
复制代码- replace width(431) height(394)
复制代码 [h2]6. 箱形图 (Box Plot)[/h2]箱形图又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。
image.png
- clonevar wagelog10 = wage
复制代码- replace wagelog10 = log10(wagelog10)
复制代码
- mylabels 0(10)40 , myscale(log10(@)) local(labels)
复制代码
- over(ind, sort(1)) nooutside
复制代码- ytitle("") ylabel(`labels')
复制代码- title("Hourly wage, 1988, woman aged 34-46", span)
复制代码- note("Source:1988 data from NLS, U.S. Dept. of Labor, "
复制代码- "Bureau of Labor Statistics", span) ;
复制代码
- graph export "F6_box_plot.png", ///
复制代码- replace width(431) height(394)
复制代码 [h2]7. 小提琴图(Violin Plot)[/h2]小提琴图 (Violin Plot) 用于显示数据分布及其概率密度。这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。中间的黑色粗条表示四分位数范围,从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。
小提琴图
- ssc install vioplot // 下载外部命令
复制代码
- vioplot mpg, over(rep78) horizontal name(myplot) ///
复制代码- title("Violin Plot of Mileage") ///
复制代码- subtitle("By repair record") ///
复制代码- ytitle(Repair Record) ///
复制代码
- graph export "F7Violin_plot.png", ///
复制代码- replace width(431) height(394)
复制代码 [h2]8. 热图绘制(Heat Map)[/h2]热图通过平面二维坐标加上不同区域颜色的变化表达了三维信息,热图中横坐标与纵坐标给出了数据的特征,**热图的颜色表示了该数据在整体中的概率密度分布。 **
热图
- ssc install spgrid, replace
复制代码
- ssc install spkde, replace
复制代码
- ssc install mylabels, replace //下载外部命令
复制代码
- replace y = (y-0)/(20000-0)
复制代码
- mylabels 0(10)50, myscale((@-0)/(50-0)) local(XLAB)
复制代码- mylabels 0(5000)20000, myscale((@-0)/(20000-0)) local(YLAB)
复制代码
- * 1. Generate a 100x100 grid
复制代码
- spgrid, shape(hexagonal) xdim(100) ///
复制代码- xrange(0 1) yrange(0 1) ///
复制代码- cells("2D-GridCells.dta") ///
复制代码- points("2D-GridPoints.dta")
复制代码
- * 2. Estimate the bivariate probability density function
复制代码
- spkde using "2D-GridPoints.dta", ///
复制代码- bandwidth(fbw) fbw(0.1) dots ///
复制代码- saving("2D-Kde.dta", replace)
复制代码
- merge 1:1 _n using xy.dta
复制代码
- twoway (contour p spgrid_ycoord spgrid_xcoord if p!=0 , ///
复制代码- (scatter y x, mcolor(black) msize(small) ) ///
复制代码- ,xlab(`XLAB', nogrid) xtitle("Mileage (mpg)") ///
复制代码- ytitle("Price $US") plotregion(color(blue))
复制代码
- graph export "F8Heat_Map.png", replace width(431) height(394)
复制代码 [h2]9. 棘状图绘制(Spine Plot)[/h2]棘状图的原理和条件密度图非常相似,都展示了给定某个自变量的情况下因变量的概率分布,但是棘状图首先对连续型的自变量进行了离散化处理,然后再离散区间内计算因变量的条件分布。除此之外,棘状图还兼顾了自变量的分布,在横轴方向上以不同宽度的矩形表示自变量的分布密度。
棘状图
- replace rep78=0 if missing(rep78)
复制代码
- bysort foreign rep78 : gen N = _N
复制代码- bysort foreign : gen Na1 = (N/_N)*100
复制代码
- by foreign : gen N1 = string(Na1,"%5.2f") +"%"
复制代码
- label define kk 0 "missing",
复制代码
- spineplot rep78 foreign, ///
复制代码- bar6(bcolor(red)) text(N1)
复制代码
- graph export "F9Spine_Plot.png", ///
复制代码- replace width(431) height(394)
复制代码 [h2]10. 中心条形图(Centred Bar Plot)[/h2]中心条形图经常被用在社会学统计分析中,中心的条块经常用来显示不同层次或年龄群体在横坐标对应的分类中的频率。
中心条形图
- ssc install cbarplot, replace
复制代码
- input levels freqcores freqblanks freqtools
复制代码
- reshape long freq, i(levels) j(kind) string
复制代码
- cbarplot levels kind [fw=freq], percent(levels) mlabsize(*.6)
复制代码
- graph export "F10Centred_Bar_Plot.png", ///
复制代码- replace width(431) height(394)
复制代码
下载 dofile: 连享会-十幅经典图形绘制.do (可右击另存,亦可在线查看) - 【Stata 连享会(公众号:StataChina)】由中山大学连玉君老师团队创办,旨在定期与大家分享 Stata 应用的各种经验和技巧。
- 公众号推文同步发布于 CSDN-Stata连享会 、简书-Stata连享会 和 知乎-连玉君Stata专栏。可以在上述网站中搜索关键词或后关注我们。
- 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
- Stata连享会 精彩推文1 || 精彩推文2
- 欢迎赐稿: 欢迎将您的文章或笔记投稿至
- Stata连享会(公众号: StataChina)
复制代码 ,我们会保留您的署名;录用稿件达以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
- 意见和资料: 欢迎您的宝贵意见,您也可以来信索取推文中提及的程序和数据。
- 招募英才: 欢迎加入我们的团队,一起学习 Stata。合作编辑或撰写稿件五篇以上,即可免费获得 Stata 现场培训 (初级或高级选其一) 资格。
- 联系邮件: StataChina@163.com
欢迎加入Stata连享会(公众号: StataChina)[h2]一起学空间计量……[/h2][url=http://mp.weixin.qq.com/s?__biz=MzAwMzk4ODUzOQ==&mid=2247485064&idx=1&sn=58e05c5ef029356ddfe71cb6defefd4b&chksm=9b338bdcac4402caebd7ff2e33af05ad0133351e277040f5d365a3da2fdbf2d6036fe75f9789&scene=21#wechat_redirect][/url]
|
|