stata Stata计量经济学stata自学

如何用Stata去折腾一幅图 (以直方图为例)

2017-07-17  本文已影响907人  MapleTree

前话(可以跳过)

今天无事可做,比较闲啊,觉得有必要找点儿事儿折腾一下。

Stata做图具有相对的规范性,掌握了一般的套路后,按照套路对应修改命令和参数后就做出来各种各样漂亮的图(没有审美感的人除外,例如...)

为了演示各种控制语句,我使用简单的直方图为例进行操作,可见下图:

默认做的图 经过修改后的图(注意修改的地方)

图形是否变好看这个不一定,不过变化挺大,这意味控制的地方比较多。

进入正题

一副图的操作控制一般可以分为几个部分(自己瞎分类的)

1. 特定图形本身特定的操作;

例子代码:

cd "C:\Users\liukuanbin\test2"//导入数据,sysuse表示使用软件自带的数据集

sysuse auto.dta,clear

*--针对连续变量--*

(直方图分为连续变量和离散变量两种情况,大部分设置都一样,只有几个设置有差异,所以,只要掌握连续性就可以了)

#delimit;           //开启多行编辑模型,出现(;)才算一行输入完毕

histogram price,    //针对变量price画直方图

bin(12)             //指定分为几个组别做直方图(这里也可以使用width(#)直接指定每组的宽度)

percent             //设置直方图的高度为密度(默认:对price标准正态化后,计算f(x)概率值)这里也可以用(fraction:样本比例)(frequency:落在范围内的样本量)(precent:用%表示比例)

addlabels           //加入高度值标签

addlabopts(mlabposition(12) mlabgap(2) mlabangle(0) mlabsize(3.2) mlabcolor(dknavy))  //标签状态分别:位置,间距,旋转角度,标签大小,颜色;

vertical            //设置竖向(horizontal为横向)

barwidth(1000)      //设置直方图柱子的图显示宽度

start(0)            //这个设置对标签显示位置有影响,建议默认

color(green)        //设置图的颜色(内部填充和外线颜色) (不同颜色的代码可以help colorstyle)

fcolor(yellow)      //设置柱子的填充颜色

fintensity(inten50) //设置填充颜色的饱和程度(取值:0-100)

lcolor(green)       //单独设置柱子的外边缘线的颜色

lwidth(medium)      //设置外边缘线的宽度(类型:help linewidthstyle)

lpattern(solid)     //设置外边缘线的类型(类型:help linepatternstyle)

start(0)            //(无用,为备注)lstyl(),bstyle(),pstyle()命令对外线,柱子,图形直接调用一些经典的设置类型

binrescale          //

normal              //添加一条基于本变量计算均值,方差对应的正太曲线

normopts(lpattern(dash) lwidth(medium) lcolor(red))  //这里同样可以直接用lstyle()和pstyle调用默认类型

kdensity            //添加一条核密度图(什么是核密度,这个自行百度)

kdenopts(kernel(epan2) bwidth(1000))  //指定计算核密度的函数和选择带宽

2. 标题,副标题,备注等辅助操作,X,Y轴title的操作;

标题:

title("Stata中如何折腾一个图(折腾后) ",size(5)color(blue) margin(small) span position(12))  // title这里的设置与text里面的属性设置一直,不再赘言

ytitle("Percent:百分比",width(30) height(6))   // textbox类型,opt设置选择项一样

副标题及说明性:

subtitle("**我只是一个副标题",

nobox      //不用边框

size(4) width(75) height(5) j(left)margin(small) ali(top)

position(12))   //设置副标题放置位置

图形加入备注性文字:

text(35 12500 "Datsun",   //在图(x,y)位置添加显示内容

box   //将文字内容用方框框起来

bcolor(green)  //设置方框和被内部填充颜色

fcolor(yellow)  //单独设置方框内部填充颜色

lstyle(refline)  //单独设置方框线的类型

lcolor(gold)  //单独设置方框线的颜色

bmargin(zero)  //设置边缘向外的距离

place(east)  //设置放置的位置(以设置的点画一个坐标轴,将空间划分为四个象限,就明白了)

orient(horizontal)  //设置显示内容或者方框的放置方向(横竖)参考help orientationstyle

size(3.5)  //设置文字的大小

color(red) //设置文字的显示颜色

justification(center)  //在方框中对对齐情况设置

width(13) //设置方框的宽度

height(4))  //设置方框的高度

note("图的作用:为了演示Stata操作图形")

caption("我只是个备注")

3. 坐标轴的操作;

坐标轴需要区分两个概念:刻度和标签;

刻度:是指坐标轴上按照数值的大小指定轴位置话一个刻度小竖线

标签:是指刻度下方或者左方的说明

xtick(3000(1000)17000)// 告诉软件在那些位点画刻度线

xlabel(1000 "左"  10000 "中"  16000 "高")//  告诉软件在那些地方标注刻度标签以及位点上刻度标签的值

ytick(0(2)50)

ylabel(10 "很低" 20"较低" 30 "一般" 40 "较高" 50 "很高")

4. 图形绘图区域操作;

针对这个部分,首先需要了解清楚Stata做图的区域划分,借用官方的一幅图说明:

画图区域分为: graph区域 和 plot区域两大区域,而两大区域里面又分为 outer 和 inner两个隔开的区域,这四个区域都是可以分别用命令控制的

控制graph outer area:

graphregion(              //设置画图外围的颜色help colorstyle

fcolor(sand)   //单独设置外围颜色显示

lstyle(grid)   //外围框类型(颜色,宽度,类型一起设置)

lcolor(green)  //单独设置外围框颜色

lwidth(thick)  //单独设置外围线宽

lpattern(blank)  //单独外围线框类型

控制graph inner area:

istyle(none)  //设置inner graph region的属性,还有icolor/ifcolor/ilcolor/ilwidth/ilpattern来设置

控制plot outer area:

plotregion(               //设置做图区域的属性,与上面设置外围区域属性一样

fcolor(sand)

lstyle(grid)

lcolor(sand)

lpattern(none)

控制plot inner area:

istyle(none)  //设置inner plot region的属性,还有icolor/ifcolor/ilcolor/ilwidth/ilpattern来设置

margin(small))  //设置plot region的边缘宽度

ylabel(, nogrid) //去掉默认的横轴线,让图形显示的更加纯净

;//  出现前面设置的分割符,表示到这位置,前面的命令都只是一条命令而已

delimit cr//  清除分隔符状态,后面的命令不再受分割影响,每一个行都是一条命令

*-------------------------------------------------------------------------------------------------------------------------------------

后话:Stata能做的图很多,常见的图都能做,所以,无法每个图都去总结一次,其实最终要的就是那些通用的设置掌握好。具体到某个特定的模型,特定的图形设置命令很少,到时候help一下就好了~

无聊的总结,希望大家能有所获益; 如果还有其他一些设置没有总结到,也希望大家回复补充或者 回复提醒 ~

上一篇 下一篇

猜你喜欢

热点阅读