我用一些数据在 R 中执行了空间插值,并在创建地图时遇到了困难。我必须使用spplot这样做。当我从那里测试代码示例时:
data(meuse)
coordinates(meuse) <- ~x+y
l2 = list("SpatialPolygonsRescale", layout.north.arrow(), offset =
c(181300,329800), scale = 400)
l3 = list("SpatialPolygonsRescale", layout.scale.bar(), offset =
c(180500,329800), scale = 500, fill=c("transparent","black"))
l4 = list("sp.text", c(180500,329900), "0")
l5 = list("sp.text", c(181000,329900), "500 m")
spplot(meuse, c("ffreq"), sp.layout=list(l2,l3,l4,l5),
col.regions= "black", pch=c(1,2,3),
key.space=list(x=0.1,y=.95,corner=c(0,1)))
一切都按预期工作。当我将它应用到我的数据集时,我得到一个错误
Error in printFunction(x, ...) :
(list) object cannot be coerced to type 'double'
这就是我的代码的样子:
l2 = list("SpatialPolygonsRescale", layout.north.arrow(), offset =
c(5400000,500000), scale = 400)
l3 = list("SpatialPolygonsRescale", layout.scale.bar(), offset =
c(5400000,500000), scale = 25000, fill=c("transparent","black"))
l4 = list("sp.text", c(5400000,500000), "0")
l5 = list("sp.text", c(5400000,500000), "25 km")
# Use the ColorBrewer library for color ramps
library(RColorBrewer)
precip.pal <- colorRampPalette(brewer.pal(7, name="Blues"))
# plot the interpolation
spplot(bla.krige, zcol='bla.pred', col.regions=precip.pal,contour=TRUE,
col='black',
pretty=TRUE,
scales=list(draw = TRUE),
labels=TRUE,
layout=list(l2,l3,l4,l5))
知道如何解决这个问题吗?我的数据看起来与 spplot 文档中给出的示例几乎相同。感谢您的任何提示!