如何扭曲R中的默认彩虹。例如,看看这段代码及其产生的图像:
x = seq(0,50,by=0.005)
y = runif(length(x),2,5)
colors = rainbow(length(x))
plot(x,y,cex=0.2,pch=16,col=colors)
我想改变它,以便没有那么多绿色。应该有绿色和黄色,青色和蓝色一样多。我也想删除洋红色(最右边的“红色”)。我怎么能这样做?
答案 0 :(得分:9)
如果你明确地从调色板生成中跳过绿色,那么你就会接近我的想法:
par(mfrow=c(2,1))
par(mar=c(2,1,3,1))
x = seq(0,50,by=0.005)
y = runif(length(x),2,5)
colors = rainbow(length(x))
plot(x,y,cex=0.2,pch=16,col=colors)
title(main="old")
crp.rg <- colorRampPalette(c("red","yellow","cyan","blue","red"))
colors = crp.rg(length(x))
plot(x,y,cex=0.2,pch=16,col=colors)
title(main="new")
您也可以手动编辑每个颜色过渡以使它们具有不同的长度:
par(mfrow=c(2,1))
par(mar=c(2,1,3,1))
x = seq(0,50,by=0.005)
y = runif(length(x),2,5)
colors = rainbow(length(x))
plot(x,y,cex=0.2,pch=16,col=colors)
title(main="old")
crp.step1 <- colorRampPalette(c("red","yellow"))
crp.step2 <- colorRampPalette(c("yellow","green"))
crp.step3 <- colorRampPalette(c("green","cyan"))
crp.step4 <- colorRampPalette(c("cyan","blue"))
crp.step5 <- colorRampPalette(c("blue","red"))
colors <- c(
crp.step1(2666),
crp.step2(1000),
crp.step3(1000),
crp.step4(2666),
crp.step5(2667)
)
plot(x,y,cex=0.2,pch=16,col=colors)
title(main="new")