2017-08-21 7 views
2

私はggplotsの背景としてwrld_simplを使用し、南極を削除したいと考えています。それをどうやって行うかわからない。ご協力ありがとうございました!スクリプトのwrld_simplから南極を削除するグローバルマップ

library(maptools) 
data("wrld_simpl") 
plot(wrld_simpl) 
wrld_simpl[[email protected]$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 

答えて

4

私は特にそのパッケージを使用していないが、mapsパッケージからマップがggplot2::map_data()呼び出します。次に、任意のデータフレームと同様に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 hereenter image description here

2

(対応UNコード= 10で)南極を除去する溶液である

wrld_simpl[[email protected]$UN!="10",] 

スクリプトの例:

p <- ggplot() + 
    geom_polygon(data = wrld_simpl[[email protected]$UN!="10",], 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 
関連する問題