gpt4 book ai didi

R: map 中带有 spplot 的自定义调色板

转载 作者:行者123 更新时间:2023-12-04 11:30:02 27 4
gpt4 key购买 nike

我正在努力使用 sp 包中的 spplot 在多个多边形上引入自定义调色板。我正在绘制几个字段并想显示我的评分,它的值可以是 0、1、2、4 或 5。我需要为此使用自定义颜色。我尝试的是:

spplot(Map,zcol="Rating", 
col.regions=c("0"="#00cc00","1"="#ffff66","2"="#e5c100",
"3"="orange","4"="#ff5e5e","5"="red"),
colorkey=TRUE)

但是,它会产生重复的颜色,如下图所示。我该如何解决这个问题?我知道如何使用 ggplot 来完成它,但出于多种原因,我需要知道如何使用 spplot 来完成它。非常感谢您的帮助。

编辑:这是一个 map 示例,它确实按我需要的方式工作:

con <- url("http://gadm.org/data/rda/DEU_adm3.RData")
print(load(con))
close(con)
t1<-gadm[grep("Sachsen|Hessen|Bayern",gadm$NAME_1),]
col=c("red","yellow")
spplot(t1,zcol="TYPE_3",col.regions=col)

我注意到以下几点:当我用我的数据对原始“Large SpatialPolygonsDataframe”进行子集化时,生成的 map 是“Formal Class SpatialPolygonsDataframe”。这不会发生在我刚刚在上面发布的示例中。谁能告诉我是什么导致了这种行为?很遗憾,我无法上传原始(敏感)数据。

Map produced by spplot with repetitive color code (not desired)

最佳答案

当您的 zcolnumeric 时会发生这种情况。将其转换为 factor,您的图应该会按预期显示。

如果将 t1$TYPE_3 转换为数字,您会看到此行为:

t1$TYPE_3.num <- as.numeric(t1$TYPE_3)
spplot(t1, 'TYPE_3.num', col.regions=c('red', 'yellow'))

t1

所以假设有 6 个可能的因子水平,标签从 0 到 5,尝试:

Map$Rating.fac <- factor(M$Rating, levels=0:5)

然后使用 zcol='Rating.fac' 并将 6 种颜色的向量传递给 col.regions

关于R: map 中带有 spplot 的自定义调色板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25918012/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com