《R语言实战》自学笔记16-图形图例

Python010

《R语言实战》自学笔记16-图形图例,第1张

数据准备

函数:legend(location, title, legend, ....)

参数详解:

x和y:用于定位图例,也可用关键词"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" 和 "center";当图例用关键词设置位置后,inset = 分数,可以设置其相对位置;

legend:指定图例标签,字符或表达式向量;

fill:用特定的颜色进行填充;

col:设置图例中出现的点或线的颜色;

border:当fill = 参数存在的情况下,用于指定填充的边框颜色;

lty, lwd:图例中线的类型与宽度;

pch:点的类型;

angle:阴影的角度;

density:阴影线的密度;

cex:指定图例显示大小;

bg:指定图例的背景色;

bty:指定图例框是否画出,默认o为画出,n为不画出;

box.lty, box.lwd, box.col: 设置图例边框线型,线粗,颜色,box.lty为虚线,box.lwd决定粗线,box.col决定颜色;

pt.bg:图例中点的背景色;

pt.cex:图例中点的大小;

pt.lwd:图例中点边缘的线宽;

x.intersp:图例中文字离图片的水平距离;

y.intersp:图例中文字离图片的垂直距离;

adj:图例中字体的相对位置;

text.width:图例中字体所占的宽度,调整后图例整个宽度也跟着变化了;

text.col:图例字体的颜色;

text.font:图例字体;

merge:逻辑值,merge=TRUE,合并点与线,但不填充图例框,默认为TRUE;

trace:逻辑值,trace=TRUE显示图例信息;

plot:逻辑值,plot=FALSE不画出图例;

ncol:图例中分类的列数;

horiz:逻辑值,horiz=TRUE,水平放置图例;

title:给图例加标题;

xpd:xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用;

title.col:标题颜色;

title.adj:图例标题的相对位置,0.5为默认,在中间。0最左,1为最右;

seg.len:指定图例中线的线长,长度单位为字符宽度。

1 图例方位

2 修饰图例

3 图例绘制在图外

4 自定义图例

有时候绘制出的图是分组图,这时候需要自定义绘制图例。

参考资料:

《R语言实战》(中文版),人民邮电出版社,2013.

R语言绘制图例(legend)的各种问题_详细综合解析, https://blog.csdn.net/xiangyong58/article/details/54579293

投必得R语言教程,第二讲 R作图-基础-图形参数设置:标题、图例、文字, https://mp.weixin.qq.com/s?__biz=MzU1Mzc3OTIwNg==&mid=2247495531&idx=1&sn=cdd80d4e950ae2b344cf188c68922fa8&chksm=fbef0602cc988f14e93b71bc6fcc2fda782d3ae9a3a67601a6c87756f4ae85bcc5d9c56d9b51&scene=21#wechat_redirect

一幅图解决R语言绘制图例的各种问题, https://blog.csdn.net/weixin_30469895/article/details/96649305

你是不是关闭了图像显示?比如是不是用过Dev.off语句呢?

如果有的话,你可以输入Dev.new,重新打开新图像之后,再试一下你的代码,看看是不是能显示图像呢。

我也是刚刚开始学,就只想到了这一点,因为我之前就是遇到了同样的问题。

一、R预设调色板

这一系列函数有5个,即:

rainbow

heat.colors

terrain.colors

topo.colors

cm.colors

在R环境里面输入问号(?)和上面任一函数名就可以获得这5个函数的用法说明。这些函数最少需要一个参数,n,表示要得到颜色的数量。n在系统允许范围内没有限制。下面用彩虹色调色板函数rainbow产生的颜色绘一个色盘:

>setwd("D:/")n=1000

>png("rainbow.disc.png", bg = "transparent")

>par(mar = c(0,0,0,0))

>pie(rep(1,times=n),labels="",col=rainbow(n),border=rainbow(n))

>dev.off()运行后回在D盘根目录下得到一个rainbow.disc.png文件,图形如下:

五个调色板产生的颜色对比如下:

>par(mfrow=c(5,1))par(mar=c(0.1,0.1,2,0.1))par(xaxs="i", yaxs="i")

>n <- 10000

>barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),axes=FALSE, main="Rainbow colors")box()

>barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),axes=FALSE, main="heat.colors")box()

>barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),axes=FALSE,main="terrain.colors")box()

>barplot(rep(1,times=n),col=topo.colors(n),border=topo.colors(n),axes=FALSE, main="topo.colors")box()

>barplot(rep(1,times=n),col=cm.colors(n),border=cm.colors(n),axes=FALSE, main="cm.colors")box()

当然你可能不需要这么多颜色,改变n值就可以了:

>n <- 10

>barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),axes=FALSE, main="Rainbow colors")box()

>barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),axes=FALSE, main="heat.colors")box()

>barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),axes=FALSE,main="terrain.c