使用ggmap在世界地图中绘制一些指定的国家/地区

时间:2015-01-17 09:55:46

标签: r geo ggmap choropleth

我正试图用一种颜色为一些国家着色,使用这样的ggmap:

enter image description here

我想要着色的国家是:

日本

中华民国
大韩民国
越南社会主义共和国
印度尼西亚共和国 泰国王国 斯里兰卡民主社会主义共和国 台湾
人民共和国孟加拉国 尼泊尔联邦民主共和国
印度 蒙古
缅甸联邦 菲律宾共和国 新加坡共和国 柬埔寨王国 马来西亚
巴基斯坦伊斯兰共和国 老挝人民民主共和国
文莱达鲁萨兰国 不丹王国

阿富汗伊斯兰共和国
伊朗伊斯兰共和国
也门共和国 阿拉伯联合酋长国 黎巴嫩共和国 以色列国 肯尼亚共和国
博茨瓦纳共和国
埃塞俄比亚联邦民主共和国 尼日利亚联邦共和国 莫桑比克共和国
乌干达共和国
摩洛哥王国 加纳共和国
南非共和国
津巴布韦共和国 美利坚合众国 加拿大
墨西哥合众国 巴西联邦共和国
圭亚那共和国
安提瓜和巴布达
古巴共和国
尼加拉瓜共和国
斐济群岛共和国
澳大利亚
汤加王国 独立的萨摩亚国 巴布亚新几内亚独立国 小计
乌兹别克斯坦共和国
挪威王国
吉尔吉斯共和国
德意志联邦共和国 法兰西共和国 塔吉克斯坦共和国
奥地利共和国
意大利共和国
英国

丹麦王国
瑞典王国
芬兰共和国 爱沙尼亚共和国 立陶宛共和国
俄罗斯联邦
格鲁吉亚
荷兰王国
葡萄牙共和国 冰岛共和国 哈萨克斯坦共和国 摩尔多瓦共和国 波兰共和国
西班牙
瑞士联邦 乌克兰

如果你教我怎么做,我会感激不尽。

1 个答案:

答案 0 :(得分:1)

你似乎想要一个等值线,这是一个地图,其中国家(在这种情况下)用一个表示某事的比例着色。因此,如果您的比例是每个国家的识字成人的百分比,您将在变量中具有该百分比,并且等值区将应用您选择的颜色渐变(或使用默认调色板)以使颜色与百分比匹配。看看Plotting bar charts on map using ggplot2?以及https://stackoverflow.com/questions/24130669/map-with-ggplot2-putting-data-in-wrong-geographic-location还有一个包:choroplethr

这个答案非常出色:Region polygons not displaying in ggplot2 Choropleth map

以下是使用ggplot执行此操作的示例的一部分,其中我不一定包括选择地图本身的所有准备工作:

states_map <- map_data(map="state")  # another choice is "usa"
states_map$region <- as.character(states_map$region)

ggplot(acq.jds.color, aes(map_id = region, fill = StLawyers)) + 
  geom_map(map = states_map) + 
  scale_fill_gradient2(low = "#559999", mid = "grey90", high = "#BB650B", midpoint = median(acq.jds.color$StLawyers)) +
  expand_limits(x = states_map$long, y = states_map$lat) +
  coord_map("mercator") +
  labs(x = "", y = "") +
  theme(axis.text = element_blank(), panel.background = element_blank(), panel.grid = element_blank(), 
        axis.ticks.length = unit(0, "cm"), axis.ticks.margin = unit(0, "cm"), panel.margin = unit(0, "lines"),
        plot.margin = unit(c(0,0,0,0), "lines"), complete = TRUE)