教你如何一步一步绘制漂亮的分组条形图(一)

2018-01-22 徐露露 爬虫俱乐部 爬虫俱乐部

有问题,不要怕!点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~

喜大普奔~爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~

大家都知道Stata的画图功能是十分强大的,我们可以通过设置各种选项来进行调整,得到自己所需要的图形。在之前的推文《我来告诉你如何用stata做出漂亮的图形:柱状图的绘制》中,我们介绍了twoway bar,它主要用来绘制直方图(横坐标的数据具有连续性)。那么,条形图(分组后的数据是分开排列)又是怎么绘制的呢?今天的这一篇推文教给大家的就是如何绘制分组条形图

让我们从一个简单的例子开始吧,使用auto数据将所有的车分为国产车与进口车两组,绘制分组后各组平均汽车价格与车重的条形图:

sysuse auto,clear

graph bar price weight,over(foreign)

得到下图:

从上图我们可以得到,国产车与进口车的平均价格和重量。但是不可否认,上图不是一个漂亮的图形。那么怎么通过命令后的选项来进行调整呢?接下来,我们会给大家介绍graph bar 部分选项:

1.bargap(#)

bargap(#)可以设定组内条形之间所留空隙的大小。在默认情况,即bargap(0),表示组内条形之间是紧密相连的(如上图所示),若设置参数为bargap(10),则表示组内条形之间所留的空隙为条形宽度的10%。

程序:

graph bar price weight ,over( foreign ,relabel(1 "国产车" 2 "进口车")) bargap(10)  bar(1, color(red) )  bar(2, color(green) )

得到:

另外若修改参数为bargap(-30),则表示组内条形之间有宽度30%的重叠部分:

graph bar price weight ,over( foreign ,relabel(1 "国产车" 2 "进口车")) bargap(-30) bar(1, color(red) )  bar(2, color(green) ) 

得到:

2.gap(#)

gap()一般与over结合使用,它设置的是组与组之间间隙的大小,如果设置为较大的间隙时,就会使得条形的宽度变窄,:

graph bar price weight ,over( foreign ,relabel(1 "国产车" 2 "进口车") gap(500)) bargap(10) bar(1, color(red) )  bar(2, color(green) )

其中,gap(500)表示的是国产车与进口车两组之间的空隙宽度是一个条形宽度的五倍。

得到:

3.outergap(#)

可是上图的国产车与进口车两组相隔距离较远,同时离x轴的两端又太近了。outergap(#)可以控制最外侧条形与图形边缘的空隙大小,当然既然我们控制了outergap(#)和gap(#),就意味着条形的宽度会缩短:

graph bar price weight ,over( foreign ,relabel(1 "国产车" 2 "进口车") gap(500))  outergap(100) bargap(10) bar(1, color(red) )  bar(2, color(green) )

其中,outergap(100)表示最外侧的条形与图形边缘的空隙宽度等于一个条形的宽度

得到:

细心的朋友会发现最左侧的条形到纵轴的宽度明显比条形的宽度宽,这是为什么呢?因为当我们设置outergap(0)时,最左侧条形并不是与纵轴紧密连接的,而是默认有一小段空隙,所以若设置outergap(100),它会在默认空隙长度的基础上再加上一个条形图的宽度。

另外,outgap(*1.5)表示扩大其空隙为原来的1.5倍,outgap(*0.5)表示缩小其空隙为原来的0.5,你们也可以动手试试哦。

由于篇幅的限制,我们只介绍了三个常用的选项,在下一篇推文中,我们将继续介绍nofillhbarstack这三个选项,以及如何绘制水平条形图,敬请关注!


以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

文字编辑/闫续文

技术总编/刘贝贝


往期推文推荐:

1.高校学术大神:你的导师上榜了吗?

2.中国高校财经、管理与综合类期刊灌水排行榜

3.命令sum2docx输出统计量表到docx文件

4.reg2docx报告你的实证结果吧!

5.爬虫俱乐部又出新命令了——wordconvert转换你的word文件

6.putdocx+wordconvert—将实证结果输出到Word.docx)文档

7.Stata 15Markdown——没有做不到,只有想不到!

8.矩阵和宏的故事

9.shelloutopen anything

10.Putpdf--神奇的转换工具



关于我们

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

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

投稿邮箱:statatraining@163.com

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

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号

公开收集正在保存拖拽至此处以完成收集私密