修改图形图例

2017-08-23 高金凤 爬虫俱乐部 爬虫俱乐部

大大大大大新闻————自公众号推送视频讲解环节以来,深受广大读者朋友的喜爱。近日向我们提问的粉丝也是大幅增加呐!为了便捷管理相关信息,提高工作效率,我们对提问方式做了略微调整哟~提问者需点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~

近日,有粉丝问道,如何改变图形图例的名称,首先想到的肯定是在图形编辑器中直接更改,那如果我们想要用程序实现,该如何操作呢?在这里举一个简单的例子。

首先,我们用到系统数据auto做一个简单的散点图,键入如下命令:

sysuse auto,clear

twoway(scatter mpg weight if foreign==0,mcolor(%50) ) ///

(scatter mpg weight if foreign==1,msymbol(Sh))  ///

,ytitle(里程)   xtitle(重量)   ///

note(note:数据来自美国汽车协会)    ///

text(35 3400 "曲线类型:散点图")  

graph export g1.png,replace  

!taskkill /F/IM WINWORD.EXE /T 

clear all

putdocx begin  

putdocx paragraph,halign(center)

putdocx text ("行驶里程与车重关系"),bold font(仿宋_GB2312,15,black) linebreak 

  putdocx text ("美国国产和进口汽车"),font(仿宋_GB2312,12,red) linebreak  

putdocx image g1.png,width(6)  

putdocx save g1.docx,replace  

shellout g1.docx 

结果如下:

可以看到,当我们不对图例进行设置时,系统自动输出图例,但是除了颜色和点的样式不一样外,我们不能区分到底是哪类车所对应的图,所以需要我们对图例进行更改,在上面绘图的程序中,加入选项legend,并进行相关设置如下:

legend (title(图例) label(1 国产车) label(2 进口车))

结果如下:

可以看到,我们对图例进行了更改。当然,如果将上面设置图例的命令行改为:

legend (title(图例) label(1进口车) label(2国产车))

时,国产车和进口车的顺序可以互换。如果你对图例的样式不满意,还可以进行修改图例的边框大小颜色位置等。如下命令:

legend (label(1 国产车) label(2 进口车) region(fcolor(none) ///

lpattern(blank)) textwidth(12) cols(1) pos(4))

注:

fcolor:表示图例边框内的填充色

lpattern:表示边框的样式

textwidth:图例的宽度

cols:图例排列的列数

pos(#):代表图例的位置,#是指按钟表排列的数字。如果是0则表示图形的中间位置。

另外,在分组选项by()中也可以对图例的位置进行设置。将上面的绘图命令稍作修改,如下所示:

sysuse auto,clear

twoway (scatter mpg weight,mcolor(%50)) (lfit mpg weight)  /// 

,ytitle(里程)  xtitle(重量)   ///

note(数据来自美国汽车协会)    ///

by(foreign, total legend(at(4) pos(0))) ///

legend(title(图例) label(1 国产车) label(2 进口车))

graph export g4.png,replace

clear all

putdocx begin

putdocx paragraph,halign(center)

putdocx text ("行驶里程与车重关系"),bold font(仿宋_GB2312,15,black) linebreak

putdocx text ("美国国产和进口汽车"),font(仿宋_GB2312,12,red) linebreak

putdocx image g4.png,width(6)

putdocx save g4.docx,replace

shellout g4.docx

结果如下:

当然,如果你不需要图例的时候,也可以加入选项legend(off)设置取消显示图例,比如我们可以将上一个程序中by()选项修改如下:

by(foreign, total legend(off))

这样就不再显示图例,结果如下所示:

除此之外,在设置legend时,还有很多选项。比如ring(设置图例与图形的距离),stack(将图例进行堆栈放置)等,请感兴趣的读者查看help文件自行学习。

什么?!没看懂!!不要紧!!戳下面,听爬虫小将的详细讲解,也欢迎大家的批评指正哟!


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

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过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分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号