Stata标注技巧:用for循环批量画图,标注相应文字 | 您所在的位置:网站首页 › 循环图片怎么做出来的视频 › Stata标注技巧:用for循环批量画图,标注相应文字 |
1.引言
如题,想用for循环批量输出结果,输出标题/label一般暂时使用数值,但结果不太直观。如何将数值对应的文字作为label或title? 我们考虑以下场景,hy2是国民经济行业分类代码。现在想要绘制每一个行业的出口额的时间趋势图。 hy2hy中文名hy2hy中文名13农副食品加工业29橡胶和塑料制品业14食品制造业30非金属矿物制品业15酒、饮料和精制茶制造业31黑色金属冶炼和压延加工业16烟草制品业32有色金属冶炼和压延加工业17纺织业33金属制品业18纺织服装、服饰业34通用设备制造业19皮革、毛皮、羽毛及其制品和制鞋业35专用设备制造业20木材加工和木、竹、藤、棕、草制品业36汽车制造业21家具制造业37铁路、船舶、航空航天和其他运输设备制造业22造纸和纸制品业39计算机、通信和其他电子设备制造业23印刷和记录媒介复制业40仪器仪表制造业24文教、工美、体育和娱乐用品制造业41其他制造业25石油、煤炭及其他燃料加工业42废弃资源综合利用业26化学原料和化学制品制造业43金属制品、机械和设备修理业27医药制造业44电力、热力生产和供应业28化学纤维制造业45燃气生产和供应业我们要做的是:将贸易额回归至时间虚拟变量上,考察lnv的时间趋势,使用如下命令 回归命令 *****回归***** capture{ forv i = 13/45{ reghdfe lnv i.year if hy2 == `i', noa vce(r) eststo fit`i' } } 画图命令 *****画图***** forv i = 39/45{ #d ; coefplot (fit`i',c(l) label("行业`i'") lp(dash) lc(black) mc(black) ms(smcircle_hollow) offset(-0.07)) , vertical drop(_cons) byopts(xrescale) xlabel(1 "2008" 2"2009" 3"2010" 4"2011" 5"2012" 6"2013" 7"2014" 8"2015") graphregion(color(white)) legend(size(small) col(3)) ; #d cr graph export "C:\Users\Allen\Desktop\output_temp\hy`i'.png", as(png) name("Graph") replace }如果直接循环绘制时间趋势图,得到如下图结果。发现label是数字,不太直观。 我们想要用中文标注:结果如下 如何把数字对应的行业”文字“作为label加到图中? 2.数据处理过程 (1)使用标量储存行业代码和行业名称生成了标量s13~s45 用于储存行业代码编号 生成了标量int13~int45 储存行业代码名称 执行上述代码,sca list得到如下结果 由此,我们就得到了中文label的时间趋势图 |
CopyRight 2018-2019 实验室设备网 版权所有 |