美文网首页工作生活
用Stata去折腾一幅图 (以直方图为例)

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

作者: lumicinta | 来源:发表于2019-07-02 18:38 被阅读0次

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

    前话(可以跳过)

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

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

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

    image image

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

    进入正题

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

    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. 坐标轴的操作;

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

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

    image

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

    image

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

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

    ytick(0(2)50)

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

    4. 图形绘图区域操作;

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

    image

    画图区域分为: 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一下就好了~

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

    相关文章

      网友评论

        本文标题:用Stata去折腾一幅图 (以直方图为例)

        本文链接:https://www.haomeiwen.com/subject/ajithctx.html