繁体   English   中英

在R中以特定颜色绘制栅格以获取特定值

[英]Plotting a raster in R with specific colors for specific values

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

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

我想绘制一个图,其中值1到5是彩色的。 所有其他值均为灰度。 另外,我希望图例特别显示每个值和相应的颜色。 在ArcGIS中,这很容易完成(请参见所需结果) 在此处输入图片说明

我做了很多尝试,但是我无法提出解决方案来获得良好的结果。 有人可以帮忙吗?

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

编辑:

事实证明,基本图对于分类数据有点烦人。 我敢肯定有办法,但是如果有高速公路,为什么要走石路。

出色的rasterVis软件包使绘制分类栅格变得很容易...还有很多其他事情。 查看主页上的所有功能。

回到您的问题:

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')

结果:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM