【发布时间】:2022-04-29 21:11:40
【问题描述】:
是否可以在 R 中创建如下所示的颜色键? (这个来自软件Grid Analysis and Display System - Grads)。
有两个功能我无法在 R 中重现:
- 序列是非线性的,但它显示为好像
- 大于 200 的值为灰色/小于 0 的值为白色
我正在使用 rastervis 的 levelplot,它使用 lattice levelplot 绘制栅格:
require(raster)
require(rasterVis)
set.seed(200)
X = seq(-40,0,by=1)
Y = seq(-60,-40,by=1)
grid = expand.grid(list(X=X,Y=Y))
Z = rnorm(nrow(grid),mean=10,sd=100)
data = data.frame(grid,Z)
r = rasterFromXYZ(data)
mapTheme <- rasterTheme(region=c('#EEF7FA','#D6F8F7',"#BEDAFF",'#5DA4FF',"#0000FF","#D4F9E2","#00FF7F","#008000","#FFFF00","#FFD27F", "#FFB732" ,"#EE7600",
"#D53E4F","#FF6A6A"))
my.at = c(0,1,5,10,15,20,25,30,40,50,75,100,150,200)
myColorkey <- list(at=my.at,
space="bottom",
labels=list(at=my.at))
p=levelplot(r, par.settings=mapTheme,at = my.at, colorkey=myColorkey,margin=F)
print(p)
结果:
如您所见,小于 0 和大于 200 的值都是白色的,我不知道如何将大于或小于某个值的值设置为特定颜色。 Morover,如何让颜色键中连续的粗标记之间的间隔大小相同,尽管间隔不一样?
【问题讨论】:
标签: r lattice levelplot rastervis