世界地図のデータは、Natural Earth というウェブサイトから入手できます。
ここからダウンロードした5千万分の1の縮尺(Medium scale)のシェイプファイルを使って、世界の国々の白地図をプロットしてみましょう。
library(maptools)
library(ggplot2)
world <- readShapePoly("ne_50m_admin_0_countries.shp")
map1 <- ggplot(world, aes(long, lat, group = group))
map1 <- map1 + geom_polygon(colour = "gray20", size = 0.2, fill = "white")
map1 <- map1 + coord_equal()
画面に地図を表示するには次のようにします。
print(map1)
続いて、ちょっと処理が複雑になりますが、日本を赤色で塗ってみます。
flag <- rep(FALSE, length(world))
flag[world$admin == "Japan"] <- TRUE
df <- fortify(spCbind(world, flag), region = "flag")
map2 <- ggplot(df, aes(long, lat, group = group))
map2 <- map2 + geom_polygon(aes(fill = id))
map2 <- map2 + scale_fill_manual(values = c("white", "red"))
map2 <- map2 + geom_path(data = world, aes(long, lat, group = group), colour = "gray20",
size = I(0.1))
map2 <- map2 + coord_equal() + labs(x = "", y = "") + theme(axis.ticks = element_blank(),
axis.text = element_blank()) + theme(legend.position = "none")
結果を表示するには、上と同じようにします。
print(map2)