查看原文
其他

Stata16新功能——定义图形元素的绝对大小

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:高金凤

文字编辑:王碧琪

技术总编:李朋冲


 爬虫俱乐部将于2019年8月22日至28日湖北武汉举行为期一周的Stata编程技术定制培训,此次培训采用Stata16进行讲解,采取初级班和高级班分批次培训。课程通过案例教学模式,旨在帮助大家在短期内掌握Stata软件编程、金融计量知识和实证分析方法,使大家熟悉Stata核心的爬虫技术,以及Stata与其他软件交互的高端技术。目前正在火热招生中~

详细培训大纲及报名方式,请点击文末阅读原文呦~


Stata15及其之前的版本中,定义图形元素(图形标签、线条、文本等)的尺寸都用的是相对大小,而在新推出的Stata16版本中,新增了定义图形元素的绝对大小功能,度量单位有:ptprinter points)、cmcentimeters)和in(inches),它们之间的关系为:1in = 2.54cm = 72pt

 

我们以系统自带的auto数据为例,绘制散点图,来说明如何定义图形元素的绝对大小:

sysuse auto,clearscatter mpg weight //绘制变量mpg与变量weight的散点图

不定义图形元素的大小时,散点图如下所示:

1)定义图形散点的绝对大小

twoway (scatter mpg weight if foreign==1,mc(blue) msize(0.1in))(scatter mpg weight if foreign==0, mc(red) msize(2pt)) //定义进口车散点的大小为0.1in,颜色设置为蓝色;国产车散点的大小为2pt,颜色设置为红色

(2) 定义图形图例标签的绝对大小

twoway (scatter mpg weight if foreign==1,mc(blue) msize(0.1in))(scatter mpg weight if foreign==0, mc(red) msize(2pt)),legend(label(1 "进口车") label(2 "国产车") size(0.5cm)) //定义图形图例的大小为0.5cm

(3) 定义图形坐标轴标题的绝对大小

scatter mpg weight,mc(blue) ytitle(,size(0.2in)) xtitle(,size(0.2cm)) //定义纵、横坐标轴标题的大小分别为0.2in和0.2cm

4)定义图形刻度值标签的绝对大小

scatter mpg weight,mc(blue) ylabel(,labsize(0.2cm)) xlabel(,labsize(3pt)) //定义纵、横坐标轴刻度值标签的大小分别为0.2cm和3pt

5)定义图形线条的绝对大小

twoway (scatter mpg weight if foreign==1,sort mc(blue) c(l) lwidth(2pt) )(scatter mpg weight if foreign==0,sort mc(red) c(l) lwidth(4pt) ) //定义连接进口车散点和国产车散点的线条大小分别为2pt和4pt,蓝色为进口车,红色为国产车,其中sort选项表示对横坐标轴所对应变量的观测值进行从小到大的排序

 

温馨提示:

       Stata15及其之前的版本中,如果要修改图形元素的尺寸,具体方法是在相应的选项中加上“*#”,其中“#”是一个具体的数字,表示定义的图形元素大小是默认情况下的“#”倍。例如,在以上例子中我们可以在选项msizesizelabsizelwidth中设置相应元素的相对大小,诸如:msize(*0.9)size(*1.2)labsize(*0.3)lwidth(*2)就表示元素大小分别是默认情况的0.9倍、1.2倍、0.3倍和2倍。

 

其实,选择绝对大小还是相对大小,是基于具体问题和自己喜好而言的,只要能绘制出符合自己要求的图形,选择任意一种方法都是可以的,在这里展示一张同时用这两种方法绘制的图形,希望这两种方法都可以帮到大家哟~

ssc install grstyle,replacegrstyle init //初始化grstyle set plain,horizontal compact //美化图形sysuse auto,cleartwoway (scatter mpg weight if foreign==1,sort mc(blue) msize(*0.5) c(l) lwidth(*1.2))(scatter mpg weight if foreign==0, sort mc(red) msize(8pt) c(l) lwidth(1pt)),legend(label(1 "进口车") label(2 "国产车") size(*0.6)) ytitle(,size(*1.5)) xtitle(,size(0.2cm)) ylabel(,labsize(0.2cm)) xlabel(,labsize(*1.5))


对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!

往期推文推荐

        添加docx内容哪家强,Stata16新命令帮你忙

        将数值型计算“一网打尽”——(1)

        将数值型计算“一网打尽”——(2)

         Stata16新功能之“框架”——读入多个数据集(1)

 Stata16新功能——同一个文档,不一样的布局

 手持Python,斗图不输!

 万般进制千机变,Python一计乾坤定——利用Python来进行进制转换

        朝花夕拾——cnstock与cntrade强强联合

关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。


此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存