저는 RasterStack에서 8 개의 맵 패널을 가지고 있으며 플롯에 100km 눈금 막대를 추가하려고합니다. 나는 spplot
함수 내에서 sp.layout
함수를 사용하여 래스터 상단에 SpatialLines 객체를 추가했으며, 스케일 막대 (또는 북쪽 화살표)에서도 동일하게 사용할 수 있다고 가정했지만 아무 것도 작동하지 않습니다.spplot의 단일 패널에 눈금 막대를 추가하는 방법
I가 사용하고있는 코드이다
library(sp)
library(raster)
library(grid)
spplot(rasterstack, layout=c(2,4),
names.attr=c("a", "b", "c", "d", "e", "f", "g", "h"),
between=list(x=1, y=1),
at=seq(0,1000,by=100),
col.regions=colorRampPalette(c("grey90","yellow4","green4"))(100),
par.strip.text=list(cex=2.5),
scales=list(draw=F),
colorkey=list(labels=list(labels=seq(0,1,by=0.25),
at=seq(0,1000,by=250),
width=10, cex=2.5)),
sp.layout=list(list(country, first=FALSE), # add country borders
list(spatiallines, lwd=1.5, col=4)))
# Label vertical colorkey
grid::grid.text('Probability of occurrence', y=unit(0.5,"npc"), x=unit(0.95,"npc"), rot=90, gp=gpar(cex=3, font=2))
rasterstack
8 레이어와 RasterStack 및 0 내지 1000, 각 셀 영역의 값 및
country
가
및 spatiallines
SpatialLines은 *
저는 스케일 바를 추가하기위한 다양한 기능을 보았습니다. layout.scale.bar()
, maps::map.scale()
및 scalebar()
이지만, 나는 이것을 사용하는 코드 spplot
에 통합하는 방법을 알 수 없습니다. 나는 그들을 spplot
에 인수로 추가하려고 시도했거나 sp.layout=list()
인수 안에리스트로 추가하려고했지만 어느 것도 작동하지 않습니다.
감사합니다.