spplot:在地图上放置标签

use*_*704 6 r spatial

我寻求有关如何更改附加地图上sp.text标签的fontsize和fontcolor的帮助。避免标签重叠,并提高可读性。

地图制作如下。如果需要,可以在此处下载spacepolypolygonsdataframe'mymap' 。

trellis.par.set()无法解决我的问题,我使用不正确吗?

library(sp)
library(latticeExtra)

# Create list object for sp.layout (Got these functions here on stackoverflow, thank you owner)
sp.label <- function(x, label) {list("sp.text", coordinates(x), label)}
NUMB.sp.label <- function(x) {sp.label(x, as.vector(x@data$NUMB))}
make.NUMB.sp.label <- function(x) {do.call("list", NUMB.sp.label(x))}


# Spplot
tps <- list(fontsize=list(text=5), fontcolor=list(text="green"))
trellis.par.set(tps)

spplot(mymap, "indic", 
                col.regions=c("#D3D3D3","#A9A9A9"),
                sp.layout = make.NUMB.sp.label(mymap), 
                cex = 0.5,
                bg = "white", col="light grey", border="light grey")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

use*_*704 4

找到解决方案:需要在列表中添加 cex, col 参数:

 list("sp.text", coordinates(x), label, cex=0.5, col="green")
Run Code Online (Sandbox Code Playgroud)