迷途覚路夢中行

ますます訳の分からない世界になってまいりました

全体表示

[ リスト ]

沖縄大移動

日本列島は縦横ともに長い。





ので、沖縄県を余白部分に移動した地図を、よく見かける。



それ、R ではどうする?


シェイプファイルから読み込んだ都道府県境界の SpatialPolygonDataFrame をデータフレームに変換する。

library(maptools)
library(plyr)
library(ggplot2)

japan <- readShapeSpatial("japan_pref.shp")
japan@data$id = rownames(japan@data)
japan.points = fortify(japan, region = "id")
japan.df = join(japan.points, japan@data, by = "id")



次に、本土と沖縄の2つのデータフレームに分割する。
 
hondo.df <- japan.df[japan.df$PREF_CODE != 47,]
okinawa.df <- japan.df[japan.df$PREF_CODE == 47,]


そうしたら、大変申し訳無いが、南・北大東島は削除して、


okinawa.df <- okinawa.df[okinawa.df$long < 128.75,]



東へ 6度、北へ 17.5度移動。
 
okinawa.df$long <- okinawa.df$long + 6
okinawa.df$lat <- okinawa.df$lat + 17.5



ついでに、境界線データを作成。
 
border <- data.frame(
                 xx <- c(129, 132, 136, 136),
                 yy <- c(  40,  40,   43,  45))



でもって、ggplot2 でプロットする。

g <- ggplot()
g <- g + geom_path(data = hondo.df,
                         aes(long, lat, group = group), size = 0.2)
g <- g + geom_path(data = okinawa.df,
                         aes(long, lat, group = group), size = 0.2)
g <- g + geom_path(data = border, aes(xx, yy))
g <- g + coord_equal() + xlim(c(128, 148.5)) + ylim(c(27, 46))
print(g)


《結果》




実際には、右下の余白に凡例を配置すれば、バッチリだ。

この記事に

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

開く トラックバック(0)

飲食店カテゴリの関連記事

※「練習用」カテゴリが登録されている場合は「飲食店」カテゴリを表示しています

もっと見る

[PR]お得情報

Tポイントをためるなら、この1枚!
Yahoo! JAPANカード≪年会費永年無料≫
もれなく5,000円相当のTポイント進呈
5/31まで!先着57万5千人
「ヘルシー食品」のクーポンプレゼント
イオングループから

その他のキャンペーン


みんなの更新記事