问题描述
我正在使用 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 (将#修改为@)