自定义 colorRampPalette 中的颜色条

2024-05-13

我定义了一个 colorRampPalette:

my.colors = colorRampPalette(c("light green", "yellow", "orange", "red"))

如何为其绘制颜色条“图例”项目,最好仅使用基本包?我正在寻找一个充满该颜色渐变的矩形。

我真正想要的是一种生成用“光栅”栅格绘制的相同类型图例(颜色条)的方法:

require(raster)
plot(raster("myfile.tif"), legend=T)

我需要能够将其放置在另一个图的顶部。


我不久前做了一个很好的灵活函数来做到这一点。

# Function to plot color bar
color.bar <- function(lut, min, max=-min, nticks=11, ticks=seq(min, max, len=nticks), title='') {
    scale = (length(lut)-1)/(max-min)

    dev.new(width=1.75, height=5)
    plot(c(0,10), c(min,max), type='n', bty='n', xaxt='n', xlab='', yaxt='n', ylab='', main=title)
    axis(2, ticks, las=1)
    for (i in 1:(length(lut)-1)) {
     y = (i-1)/scale + min
     rect(0,y,10,y+1/scale, col=lut[i], border=NA)
    }
}

然后你可以做类似的事情:

> color.bar(colorRampPalette(c("light green", "yellow", "orange", "red"))(100), -1)

更多示例请参见:http://www.colbyimaging.com/wiki/statistics/color-bars http://www.colbyimaging.com/wiki/statistics/color-bars

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义 colorRampPalette 中的颜色条 的相关文章

随机推荐