Rで地図を描いてみよう

今回はRを使って地図を描いてみます。

# ggplot2、maps、mapdataをRに読み込み
library(ggplot2)
library(maps)
library(mapdata)

次にアメリカ合衆国のデータをstate.mapに保存します。map_dataはggplot2に含まれている関数の一つで、データフレームをggplot2でプロットしやすいフォーマットに変換します。stateはmapsに含まれているデータでアメリカの地図を描く基本情報を含んでいます。

state.map <- map_data("state")

ggplotを使ってstate.mapのデータからアメリカの地図を描きます。

# 投影法:直交座標、色付き
ggplot(state.map, aes(x = long, y = lat, group = group)) +
  geom_polygon(fill = "green", color = "black")

f:id:dilatedtomeetyou:20200224183123j:plain
投影法:直交座標、色付き

# 投影法:直交座標、色なし
ggplot(state.map, aes(x = long, y = lat, group = group)) + geom_path()

f:id:dilatedtomeetyou:20200224183213j:plain
投影法:直交座標、色なし

# 投影法:メルカトル図法、色なし
ggplot(state.map, aes(x = long, y = lat, group = group)) +
  geom_path() + coord_map("mercator")

f:id:dilatedtomeetyou:20200224183302j:plain
投影法:メルカトル図法、色なし

次に日本地図を描いてみます。

# 日本の地図
Japan <- map_data("world", region = "Japan")
ggplot(Japan, aes(x = long, y = lat, group = group)) + geom_path()

f:id:dilatedtomeetyou:20200224182745j:plain
日本地図1

# 日本の地図、色付き
japan <- map_data("japan")
ggplot() + borders("japan", fill = "lightgreen", size = 0.3) +
  theme_bw() + labs( y = "経度", x = "緯度")

f:id:dilatedtomeetyou:20200224182905j:plain
日本の地図、色付き