在R中绘制具有特定值的特定颜色的栅格

时间:2017-07-13 08:53:47

标签: r plot visualization raster

我有一个有10个值的栅格:

vals <- c(1,2,3,4,5,12,123,1234,12345,23,234,2345,34,345,45)

我想制作一个情节,其中1到5的值是彩色的。所有其他值都是灰度级的。另外,我希望图例能够专门显示每个值和相应的颜色。在ArcGIS中,这很容易实现(参见所需结果)enter image description here

我尝试了很多,但是我无法想出一个能够获得好结果的解决方案。有人可以帮忙吗?

可在此处找到栅格:https://www.dropbox.com/s/kzcba9r4t9z4mc1/raster.tif?dl=0

1 个答案:

答案 0 :(得分:1)

编辑:

事实证明,基础绘图对分类数据有点烦人。我确定有办法,但如果有高速公路,为什么要走这条岩石路。

伟大的包rasterVis可以很容易地绘制分类栅格...以及更多关于此事的内容。查看homepage了解所有功能。

回到你的问题:

library(raster)
library(rasterVis)

#load raster
r <- raster('raster.tif')

#define color palette
cpal <- c('darkred','orange','green','dodgerblue','navy',grey.colors(8,start = 0.4,end=0))

#make categorical
r2 <- ratify(r)

#plot
levelplot(r2,col.regions=cpal,att='ID')

结果:

enter image description here