缩放颜色图例

时间:2013-12-18 10:22:11

标签: r plot legend legend-properties

有人可以帮助将此图形的图例更改为连续颜色图例,例如第二张图像中的图例。

library(demography)

plot.demogdata(portugal,series='male')   
legend("bottomright",legend=unique(portugal$year),
  col=rainbow(length(portugal$year)*1.25), ncol=5, pch=19, 
  title="Year", cex=0.5)

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

试试这个。不是高科技,但适合您的需要,不需要额外的包。 复制&粘贴到R控制台以查看其工作原理。

# not using layout function

# colors
n <- 1:50
col <- rainbow(length(n))

# expanding right margin 
par(mar=c(5,4,4,8),xpd=T)

# simulating any graph
plot(n,n*2,type='n',ylab="fun(x,n)")

# making DYI scale and legend
# scale
x <- rep(par('usr')[2]*1.1,length(n)+1)
y <- seq(f=par('usr')[3],t=par('usr')[4],length.out=length(n)+1)
nul <- sapply(n,FUN=function(n,col,x,y,...){lines(x=x[c(n,n+1)],y=y[c(n,n+1)],col=col[n],...)},lwd=30,lend="butt",col=col,x=x,y=y)
# labels
ty <- y[n]+diff(y)/2
tx <- rep(par('usr')[2]*1.25,length(n))
t <- paste("Lab",n)
ti <- pretty(n)
text(x=tx[ti],y=ty[ti],t[ti])