-2

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

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)

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

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])
于 2013-12-18T18:18:20.067 回答