Gradient of n colors ranging from color 1 and color 2
我经常使用
1 | scale_colour_gradientn(colours=c("red","blue")) |
我很清楚:
1 | brewer.pal(8,"Spectral") |
来自
1 2 3 4 | colfunc <- colorRampPalette(c("black","white")) colfunc(10) # [1]"#000000""#1C1C1C""#383838""#555555""#717171""#8D8D8D""#AAAAAA" # [8]"#C6C6C6""#E2E2E2""#FFFFFF" |
只是为了展示它的工作原理:
1 | plot(rep(1,10),col=colfunc(10),pch=19,cex=3) |
只是为了扩展上一个答案
因此,对于更扩展的"热图"类型,您可以...
1 2 | colfunc<-colorRampPalette(c("red","yellow","springgreen","royalblue")) plot(rep(1,50),col=(colfunc(50)), pch=19,cex=2) |
结果图像:
请尝试以下操作:
1 2 3 4 5 | color.gradient <- function(x, colors=c("red","yellow","green"), colsteps=100) { return( colorRampPalette(colors) (colsteps) [ findInterval(x, seq(min(x),max(x), length.out=colsteps)) ] ) } x <- c((1:100)^2, (100:1)^2) plot(x,col=color.gradient(x), pch=19,cex=2) |
上面的答案很有用,但在图形中,很难区分黑色的较深渐变。 我发现的一种替代方法是使用灰色渐变,如下所示
1 2 | palette(gray.colors(10, 0.9, 0.4)) plot(rep(1,10),col=1:10,pch=19,cex=3)) |
有关灰度的更多信息,请点击此处。
添加
当我将上面的代码用于不同的颜色(例如蓝色和黑色)时,渐变并不那么清晰。
本文档包含更多详细信息和选项。 pdf格式