R软件学习笔记—Legend

来源:互联网 发布:json字符串base64加密 编辑:程序博客网 时间:2024/05/16 03:02

当图表中承载了多组数据用于比较时,通常会使用不同的颜色来区分,并且使用图例说明不同颜色代表的数据,如图3-17所示。

 

图例中既包括文字,也包括点和线元素。R语言中的图例可以使用legend函数和高级绘图函数的图例参数进行设置。

1.legend函数

legend函数的常用参数如表3-9所示。

表3-9 legend函数的常用参数
参数 说明


x和y 设置图例的位置(左上角位置)
除了使用x和y参数外,也可以使用“bottomright”、“bottom”、“bottomleft”、“left”、“topleft”、“top”、“topright”、“right”、“center”参数

legend 一个字符向量,表示图例中的文字
horiz 为FALSE(默认)时,图例垂直排列
为TRUE时,图例水平排列

ncol 图例的列数目。如果horiz为true,则此项无意义
pch 图例中点的样式。可以既设置pch,又设置lty,并可以设置为NA,表示某组图例无点样式。
具体的取值含义可以参考1.2.3节中“元素相关参数设置”
lty 图例中线的样式。可以既设置pch,又设置lty,并可以设置为NA,表示某组图例无线样式。
具体的取值含义可以参考1.2.4节“线元素相关参数设置”
col 图例中点/线的颜色
bg 图例的背景颜色。在bty参数为“n”时无效
bty 设置图例框的样式:默认为“o”,表示显示边框。
设置为“n”表示无边框。其他取值的意义可以参考1.3.5节“边框”
title 设定图例的标题



下面通过几个实例进行介绍。先来看如下的代码。
text.legend=c("上周pv","本周pv","pv同比增长","pv环比增长")
col2<-c("black","blue")
legend("topleft",pch=c(15,15,16,16),legend=text.legend,col=c(col,col2),bty="n",horiz=TRUE)

上述代码用于设置图例的左上角(topleft),并通过col参数把图例中的颜色和主图形中的各组数据颜色进行对应。由于只设置了pch参数,而未设置lty参数,所以图例中的icon图标全部使用点来代替。bty为n时,图例无边框。horiz设置为TRUE时,表示每组图例水平排列。最终的效果如图3-18所示。

 

下面这段代码不再使用特定字符串来设置位置,而是直接设置位置(x=1,y=500),位置仍在左上角。
legend(1,500,pch=c(15,15,NA,NA),lty=c(NA,NA,1,1),legend=text.legend,col=c(col,col2),ncol=2,bg="aliceblue")

其中,pch参数设置前两组图例是点样式(15),lty参数设置后两组图例是线样式(1)。ncol=2,表示4组图例排列为2列。由于没有设置bty参数,所以该图例默认没有边框。通过bg背景颜色参数设置图例颜色为aliceblue。最后的效果如图3-19所示。

 

2.直接在绘图函数中设置参数

直接在barplot函数设置legend.text参数图标的文字,系统会直接选取相应的颜色、线条及点样式。这种方式较为便捷,但是灵活性较差,笔者习惯使用legend函数设置的方式。

0 0