从 wrld_simpl 全局 map 中移除南极洲

标签 r ggplot2 raster

我在我的 ggplots 中使用 wrld_simpl 作为背景,并想删除南极洲。不知道该怎么做。谢谢您的帮助!

library(maptools)
data("wrld_simpl")
plot(wrld_simpl)
wrld_simpl[wrld_simpl@data$ISO3 != "ATA"]

脚本示例:

library(ggplot2)

p <- ggplot() +
  geom_polygon(data = wrld_simpl, aes(x = long, y = lat, group = group), colour = "black", fill = "grey") 
p <- p + geom_raster(data = df , aes(x = x, y = y, fill = layer))
p <- p + coord_equal() +  theme_bw()  + labs(x="", y="") 
p <- p + scale_fill_gradientn(colours = rev(terrain.colors(10)))
p <- p + labs(list(title = ""))  
p

最佳答案

我没有特别使用过那个包,但是 ggplot2::map_data()maps 包中调用了 map 。然后你可以像任何数据框一样使用 dplyr::filter 对其进行子集化。

library(dplyr)
library(maps)
library(ggplot2)

map_data("world") %>% 
  filter(region != "Antarctica") %>% 
  ggplot(aes(long, lat, group = paste(region, group))) + 
  geom_polygon() + 
  coord_fixed()

enter image description here enter image description here

关于从 wrld_simpl 全局 map 中移除南极洲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45801462/

相关文章:

R使用列索引号预测数据框中每一列的glm拟合

r - 我可以以编程方式更新 data.table 中一组列的类型(到因子)吗?

r - 在 R 中制作相关值的矩形矩阵,可能使用 corrplot

r - 使用 cv.lm() 进行 K 折交叉验证

r - 使用 dplyr 中的排列()按时间顺序对月份进行排序

r - 你能在 ggplot2 中对指示变量进行分面分析吗?

r - ggplot2 geom_hex 白色边框

r - 使用行/列索引对栅格进行子集

r - 在 ggplot2 中使用填充值绘制经度纬度时出错

r - 在 R 中插入光栅砖的时间序列的有效方法