spplot:在地图上放置标签

问题描述 投票:7回答:1

我寻求有关如何更改所附地图上sp.text标签的字体大小和字体颜色的帮助,以避免标签重叠和提高可读性。

地图的制作如下。如果需要,可以下载SpatialPolygonsDataframe对象“ mymap” here

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")

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS82Q2phaS5wbmcifQ==” alt =“在此处输入图像描述”>

r spatial
1个回答
4
投票

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

 list("sp.text", coordinates(x), label, cex=0.5, col="green")
© www.soinside.com 2019 - 2024. All rights reserved.