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

用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一下就好了~

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352