Stata绘图系列——玩转绘图通用选项之坐标轴
本文作者:智淼,中南财经政法大学统计与数学学院
本文编辑:赵微微
技术总编:李婷婷
Stata&Python云端课程来啦!
好消息好消息,爬虫俱乐部开辟小鹅通战场!!爬虫俱乐部隆重推出小鹅通网络课程,将Stata基础课程,Stata进阶课程和Python课程都上传至小鹅通平台,欢迎大家多多支持订阅!报名课程即可加入答疑群,对报名有任何疑问欢迎在公众号后台留言哦。如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~
xscale/yscale(off)
: 无x/y坐标轴。xscale/yscale(noline)
:无x/y坐标轴但显示刻度及单位。xaxis/yaxis(# [# ...])
:设置x/y坐标轴的个数,其中#最小为1,最大为9。xtitle/ytitle()
:设置x/y轴标题。xlabel/ylabel()
: 设置x/y轴刻度值。labsize()
: 设置刻度值数字的大小。labcolor()
:设置刻度值数字的颜色。
help axis_scale_options
。一、坐标轴及刻度
当不需要展示具体数值时,我们可以选择隐去x轴和y轴,使图形更加简洁,使用到的命令是xscale(off)
、yscale(off)
。这里使用Stata自带示例数据集citytemp.dta进行演示,其中变量tempjan为美国各地区一月份平均气温。
xscale(off)
、yscale(off)
。这里使用Stata自带示例数据集citytemp.dta进行演示,其中变量tempjan为美国各地区一月份平均气温。sysuse citytemp.dta, clear
histogram tempjan, bin(15) frequency yscale(off) xscale(off)
xscale(noline)
、yscale(noline)
:histogram tempjan,bin(15) frequency plotregion(style(none)) ///
yscale(noline) xscale(noline)
二、双坐标轴
如果我们使用命令twoway
比较tempjan(一月份平均气温)和 cooldd(寒冷天气的天数) 的分布时:
twoway (histogram tempjan, bin(15) frequency color(pink%30)) (histogram cooldd,bin(15) frequency color(blue%50)), legend(position(7) label(1 "Tempjan") label(2 "Coldday"))
可以看出表示一月平均气温(tempjan)的直方图缩成一团。这是为什么呢?在观察数据集后,我们发现tempjan的取值范围为[2.2, 72.6],而cooldd的取值范围为[0, 4389],它们相差太大,因此共用一个坐标轴并使用相同的刻度值显然就不太合适了。这时就可以设置两个x轴,并对于每个x轴设置合适的刻度。
我们用xaxis()
设置x轴个数,xaxis(1)标记第一个坐标轴,xaxis(2)标记第二个坐标轴:twoway (histogram tempjan, xaxis(1) bin(15) frequency fcolor(pink%30)) (histogram cooldd, xaxis(2) bin(15) frequency fcolor(blue%50)), legend(position(7) label(1 "Tempjan") label(2 "Coldday"))
Stata会自动为不同坐标轴设置合适的刻度,这样一来,两个变量的直方图都会显示正常了。当然有双x轴就有双y轴,和上面命令类似,我们使用yaxis(1)
和 yaxis(2)
即可实现。
三、坐标轴标题
ytitle()
可以设置纵坐标标题,xtitle()
设置横坐标标题。需要注意的是一旦我们定义不标出x、y轴,比如xscale(off),坐标轴标题也随之不再显示。histogram tempjan, ytitle(频数) xtitle(温度) bin(15) frequency
四、坐标轴刻度值
ylabel()
可以设置纵坐标刻度值,xlabel()
设置横坐标刻度值。见help axis_label_options
。histogram tempjan,ylabel(0(20)180) xlabel(0 10 20 30 40 50 60 70 80) bin(15) frequency
如上述程序所示,在定义坐标轴刻度时,可以设置起点,间距和终点,也可一个一个自定义。具体有以下几种设置方式:
刻度表示 | 举例 | 解释 |
---|---|---|
## | #5 | 大约设置5个刻度 |
### | ##10 | 每两个主刻度之间进行10等分(仅在mlabel() and mtick()中使用) |
#(#)# | 0(10)80 | 从0到80,刻度区间为10 |
min max | 0 5 10 20 | 列出每个刻度的具体值 |
ymtick(#)
和xmtick(#)
,其用法与ylabel和xlabel一样,只不过中间的“#”表示分割每两个主刻度间的间隔。五、坐标轴刻度值的形式
我们还可以改变坐标轴上刻度值的大小、长度、宽度、颜色,在之前的推文《Stata绘图系列——玩转绘图通用选项(一)》中对颜色的设定有详细介绍。在坐标轴中,我们通过labsize()
选项改变刻度值形状的大小, labcolor()
来设定其颜色:histogram tempjan,ylabel(0(20)180 , labsize(large) labcolor(blue)) xlabel(0(10)80) bin(15) frequency
接下来我们来设置坐标轴刻度标记的长度、粗细和颜色,用到的选项分别为tlength()
、tlwidth()
、tlcolor()
。
histogram tempjan,ylabel(0(20)180 ,tlength(*2) tlwidth(thick) tlcolor(red) labsize(large) labcolor(blue)) xlabel(0(10)80) bin(15) frequency
在上图中,我们将坐标轴刻度标记长度设置为默认的两倍、比较粗(thick)、颜色为红色(red)。
以上就是对于Stata绘图中坐标轴的介绍。通过对Stata绘图的指令的观察,很容易发现所有的图形绘制命令都是图形类别命令与通用选项的组合,因此梳理常用绘图选项是很有必要的。至此,Stata绘图通用选项部分已经介绍完毕(之前的内容请点击《Stata绘图系列——玩转绘图通用选项(一)》、《Stata绘图系列——玩转绘图通用选项之图例》查看),之后还会继续为大家分享更多的Stata绘图干货,敬请期待~
最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。
对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
玩转地图的好帮手--pyecharts
爬虫俱乐部又又又输送了一位研究助理!!! 【数据分析】一文教你玩转DataFrame【数据分析-入门】一看就会!Numpy的创建、索引、切片与更新
带你玩转Stata编码一言不合就teamviewer 教你用Stata爬取全国疫情风险地区数据,原来这么简单!【数据结构】集合的使用方法 Stata爬取七普人口数据浅析Python的序列化与反序列化
爬虫俱乐部的精彩答疑--爬虫为何失败?
利用Stata批量制作学生证 【数据分析-入门】科学计算基本库—Numpy的简单使用 Stata绘图系列——玩转绘图通用选项之图例 【基础篇】数据类型介绍——list、tuple和range对象覆盖北交所的“cnstock”复工了!
高考热度大数据爬虫——谁才是院校顶流
跨框架数据操作
关于我们
微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可
以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。