如何在图像R中用特定颜色绘制超出范围的光栅色标?

时间:2018-08-16 12:37:33

标签: r plot r-raster rastervis

我有一个光栅,我想在图像图中用特定的颜色绘制出边界颜色。我到目前为止的代码

list1 = ['Happy', 'Independence', 'Day', 'Zeal']
listLen = []
for i in list1:
          listLen.append(len(i))
print list1[listLen.index(max(listLen))]

看起来像这样

enter image description here

第一个图是没有指定任何限制的普通图像图,第二个图是具有某些限制条件的图。 我想在第二个绘图中使用调色板的第一种颜色(“深色”)更改白色(超出边界值,即大于2的栅格值)。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过image函数使用自定义分隔符来设置最高显示颜色组的范围。

set.seed(1)
r <- raster(ncol=5, nrow=5)
r[] <- rnorm(n=ncell(r),mean=2)
par(mfrow=c(2,1))
col = colorRampPalette(c("darkred","red","lightskyblue","blue","blue4"))(20)
col = rev(col)

image(r, xaxs="i", yaxs="i", col = col, main="Initial")

breaks = seq(r@data@min, r@data@max, length.out=21)    
col[which(breaks[1:20] >= 2)] = col[20]
image(r, xaxs="i", yaxs="i", col = col, breaks=breaks, main="Z-Limit")