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

莫里西

我正在尝试绘制一张组织感兴趣的国家的精美地图。我制作了下面的地图,但想通过删除国家边界来使事情变得更加优雅,除了两个感兴趣的国家共享边界的地方(例如南非和津巴布韦之间)。我已经看过许多教程,但找不到任何东西。

最后,我想为城市数据添加一个图例。

这是代码:

world <- map_data("world") 
countries <- read_excel("country_table.xlsx", sheet = 3) #table of coutries with interest

world3 <- merge(world, countries, all.x = TRUE)
world4 <- arrange(world4, order)

city <- read_excel("country_table.xlsx", sheet = 4) #city data
city$long <- as.numeric(city$long)
city$lat <- as.numeric(city$lat)

ggplot(world4, aes(x = long, y = lat, group = group, fill = interest)) +
  geom_polygon(col = "white") +
  #scale_fill_manual(breaks = c("interest", "past", "current"), values = c("#4dc11d","#26660b","#9def7a")) +
  theme_map() +
  coord_fixed(xlim = c(-130, 160), ylim = c(-50, 75), ratio = 1.3) +
  geom_point(data = city, aes(x= long, y = lat), shape = 21, inherit.aes = F, size = 2, col = "black", fill = "yellow")

产生:

在此处输入图片说明

此外,我想用绿色的比例代表国家,并按以下顺序显示图例:“兴趣”,“过去”,“当前”;从浅绿色变为深绿色。当我取消选中注释行“ scale_fill_manual”时,我丢失了所有NA数据,产生了下面的图像。我尝试通过多种方式添加它,但无法使其正常工作。为了弄清楚我的意思,这是当我取消选中该注释时代码生成的内容:

在此处输入图片说明

在任何一个问题上的任何帮助将不胜感激。

富保罗

分层形成您的图。这也应该scale_fill_manual解决问题,因为您NA的数据框中将没有值。

除了您所做的之外:

# subset for all countries that are filled by a color
library(dplyr)
world5 <- world4 %>% dplyr::filter(!is.na(interest))

ggplot() +
  # first layer: all countries, no fill, no white outlines
  geom_polygon(data = world4, 
               aes(x = long, y = lat, group = group)) +
  # second layer: only countries with a fill
  geom_polygon(data = world5, 
               aes(x = long, y = lat, group = group, fill = interest),
               color = "white") +
  # apply the color scale
  scale_fill_manual(breaks = c("interest", "past", "current"), 
                    values = c("#4dc11d","#26660b","#9def7a"))                 

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

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

ggplot 和 geom_sf 未在世界地图上显示刻度和刻度线

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

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

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

使用PyEphem在世界地图上获取太阳的经度和纬度

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

从世界地图上删除节点红色标记的问题

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

在地图上添加城市(ggplot2)

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

小世界地图?

如何使用 gganimate、sf 和 ggplot2 为空间地图上的点设置动画?

R ggplot2和ggplotly在地图上一年中的累计点

带有纬度和经度点的世界地图图

在地图上独立移动2个图例ggplot2

ggplot2地图上的多个站点

填充地图上geom_point的ggplot2图例

在地图上按ggplot2按地区比较城市

从ggplot2中的小图例框中删除边框和颜色

在世界地图上叠加多个河图(桑基图)

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

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

高图:世界地图上的自定义数据标签

无法让最后几个国家在pygal世界地图上显示其人口

使用rworldmap添加点以在世界地图上表示城市

使用Python folium库将鼠标悬停在世界地图上时如何显示国家名称和人口?