ggplot中的GADM Shapefile填充完全重叠德国柏林等飞地

问题描述

我正在使用 R 制作地图并使用 ggplot 用某种颜色填充各个状态。这对柏林(英克雷)和不来梅(部分飞地)来说是不可能的,因为(我假设)它们的填充被它们所包围的更大的州(勃兰登堡、下萨克森)所覆盖。

有没有办法改变“填充程序”的顺序,使柏林和不来梅最后完成,因此不会被覆盖?

这是我的代码的相关部分:

library(ggplot2)
library(raster)

# Download germany shapefile at level 1 (state level)
germanyGADM <- getData("GADM",country = "DE",level = 1)

# The shapefile has to be converted to a dataframe for use in ggplot2
germany <- broom::tidy(germanyGADM)

ggplot() +  
  geom_polygon(data = germany,aes(long,lat,group = group,fill = id),color = "grey60") +
  # Choose fill colors
  scale_fill_manual(values=c("grey95",# BW
                             "green",# Berlin --> doesnt work! --> overlap
                             "grey90",# brandenburg 
                             "green",# Bremen --> doesn't work! --> partial overlap
                             "grey80",# Hamburg
                             "grey70",# hessen
                             "grey80",# meck vor
                             "grey95",# niedersachsen
                             "grey80",# NRW
                             "grey90",# Pflaz
                             "grey80",# Saarland
                             "grey85",# sachsen anhalt
                             "grey95",# sachsen
                             "grey70",# Schleswig-Holstein
                             "grey90",# Thuringa
                             "grey80"  # bayern
  ))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)