使用ggplot2绘制颜色编码的世界地图

布拉德·戴维斯(Brad Davis)

我正在尝试生成一张世界地图的图,其中每个国家的颜色对应于存储在数据框中的特定值。

> aggregated_country_data
   country num_responses                                     region
1       AL             1                                    Albania
2       AM             1                                    Armenia
3       AR            32                                  Argentina
...
75      ZW             3                                   Zimbabwe

这就是我尝试过的

library(rworldmap)
library(ggplot2)
map.world <- map_data(map="world")

gg <- ggplot()
gg <- gg + theme(legend.position="none")
gg <- gg + geom_map(data=map.world, map=map.world, aes(map_id=region, x=long, y=lat), fill="white", colour="black", size=0.25)
gg

这样就可以绘制出世界地图,因此,接下来我要与aggregated_country_data中的“ num_responses”值成比例地向每个国家/地区添加颜色

gg <- gg + geom_map(data=aggregated_country_data, map=map.world, aes(map_id=region, fill=num_responses), color="white", size=0.25)
gg

但是现在,它对每种颜色进行颜色编码,因为它们对应于国家/地区代码,而不是aggregated_country_data中的num_responses列中的值。

显然,关于ggplot2的某些内容我没有得到,但我不知道那是什么。

我将不胜感激,布拉德


我发现了问题所在,并且与ggplot2或我正在执行的其他任何操作无关。Aggregated_country_data数据框的“区域”名称与map.world中的名称不同。我的输入数据(aggregated_country_data)默认使用两个字母的国家/地区代码,我使用countrycode R包将其转换为国家/地区名称(在数据框中称为“区域”),但是名称使用的命名约定与map.world。所以这是一个完全不同的问题。

她不
library(rworldmap)
library(ggplot2)
map.world <- map_data(map="world")

#Add the data you want to map countries by to map.world
#In this example, I add lengths of country names plus some offset
map.world$name_len <- nchar(map.world$region) + sample(nrow(map.world))

gg <- ggplot()
gg <- gg + theme(legend.position="none")
gg <- gg + geom_map(data=map.world, map=map.world, aes(map_id=region, x=long, y=lat, fill=name_len))

gg <- gg + scale_fill_gradient(low = "green", high = "brown3", guide = "colourbar")
gg <- gg + coord_equal()
gg

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

世界地图上的边框和颜色ggplot2

使用ggplot2在世界地图上绘制英国的次区域

将世界地图划分为北温带ggplot2

ggplot2(和SF)中世界地图的整个地球多边形

使用ggplot向世界地图中的特定国家/地区添加颜色

ggplot2以限制为中心的多边形世界地图提供有趣的边缘

R,ggplot2和点为六边形单元格的世界地图

在R中绘制世界地图

绘制 ggplot 世界地图,国家根据数字范围着色

ggmap:找不到要与绘制位置一起使用的世界地图

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

使用geom_sf()绘制世界地图时缺少坐标轴刻度和标签

如何使用世界地图和颜色指示我的数据中的标签进行绘图

小世界地图?

在R中绘制1990年前的世界地图

使用 ggplot2 绘制多条不同颜色的线条

使用ggmap使用基于密度的图制作世界地图

如何使用传单将世界地图居中

如何使自己使用自己下载的世界地图作图?

使用 rgeolocate 图在 R 中叠加世界地图

使用ggplot()根据R中的ISO3代码为世界地图上的国家/地区着色

将颜色填充到d3世界地图(choropleth地图)中

如何在R中使用ggplot2在投影地图上绘制插值数据

使用 ggplot2/ggmap 在 R 中的地图上绘制线条

用正射投影绘制世界地图会给出“非有限点”

如何在世界地图上精确绘制以千米为单位的半径的圆

在ggplot2中绘制海洋的小地图区域

ggplot2:使用ggplot2绘制曲线

使用 R 中的 ggplot2 按颜色变量绘制数据