我在使用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中执行它。 非常感谢你的帮助。 编辑: 这里有一个工作方式符合我需求的地图示例:
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)
我注意到以下情况:当我用我的数据对原始的“大型空间多边形数据帧”进行子集化时,得到的地图是一个“正式类空间多边形数据帧”。这在我刚才发布的示例中没有发生。有人能告诉我是什么原因导致了这种行为吗?不幸的是,我无法上传原始(敏感)数据。
![使用重复颜色代码生成的spplot地图(不需要)](https://istack.dev59.com/OswV7.webp)
col.regions=c("#00cc00", "#ffff66", "#e5c100", "orange", "#ff5e5e", "red")
,它是否按照您的预期工作? - eipi10