是否可以将 spplot(spplot 多边形)图例放置在 map 内的左下角,像这样?
我能得到的最接近的是这个(我没有发布我的数据,我只是使用示例数据,所以在这种情况下,尝试将图例放在 map 的左上角):
data(meuse.grid)
gridded(meuse.grid)=~x+y
spplot(meuse.grid[,'dist'],
colorkey = list(space = "left", height = 0.5)
)
但是图例在页面中间并且在 map 之外。不幸的是,
colorkey
参数不支持“bottomleft”、x、y 或角参数(参见 ?levelplot
)。我也尝试使用 key.space
参数,但它似乎只在绘图时有效 SpatialPoints*
但似乎忽略了 SpatialPolygons*
(或如上例中的 SpatialPixelsDataFrame )。
最佳答案
由于 key 是它自己的一个grob,因此完全可以从绘图对象中提取它并在您喜欢的任何地方单独绘制它。
library(grid)
# Separate plot and key
s <- spplot(meuse.grid[,'dist'],
colorkey = list(space = "left", height = 0.5)
)
key <- draw.colorkey(s$legend[[1]]$args$key)
s$legend <- NULL # Otherwise we'd get two keys
# Modify key
key$framevp$x <- unit(0.15, "npc")
key$framevp$y <- unit(0.68, "npc")
# Plot
s
grid.draw(key)
关于r - spplot图例在 map 中的自定义位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29344692/