
R言語付属のサンプルデータベースをABC順にめぐってます。今回は mapsパッケージのstate.vbmです。VBM=Visibility Base Mapということみたいです。米国の各州に何か「注釈文字列」をつけたいときに便利な、若干デフォルメされた地図みたいです。何を見える化するかはお好み次第っと。
※「データのお砂場」投稿順Indexはこちら
※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。
United States State Visibility Base Map
今回のデータセットについての説明ページが以下に。
https://search.r-project.org/CRAN/refmans/maps/html/state.vbm.html
米国各州の地図としては state というデータベース名で呼び出すものをよく使うと思います。地理的な地図としては良いのですが
-
- 面積の小さな州は小さく表示されるので、プロットすると何だか分からん
- 本土のみ、アラスカとハワイは表示してくれない
という「不満」ありです。各州に何か注釈文字列をつけたいときに上記ではやりずらいので、Mark Monmonier様という方がおつくりになったのがこの state.vbmという地図みたいです。
-
- 実際の面積が小さな州も「それなり」の大きさに表示
- アラスカとハワイも表示(場所はテキトーだけれども)
なお、「見える化」といえば第176回で「面積カルトグラム」を練習しました。こちらは何かの数値指標に対応させて面積の大小を変える地図でした。今回のは何か文字列を記入するのに適する地図ってことみたいです。
さて、 state.vbm に関連するデータベース名としては以下2つあります。
-
- state.vbm.center
- state.vbmMapEnv
実際に操作するときに使用するのは state.vbm です。state.vbm.centerの方は、州の中心座標のデータベースで、注釈をつける場合のターゲット位置になるようです。また、state.vbmMapEnvは、過去回で何度も出てきた地図格納パスを保持する環境変数を指すものです。
先ずは生データ
ただ座標が並んでいるだけです。
今度はstate.vbm内に含まれている図形のお名前を見てみます。
各図形は州名そのものを$nameにもっているみたいです。ABC順ね。
まずは state.vbm をプロットしてみる操作はこんな感じ。
map('state.vbm', fill = TRUE, col = palette())
ちょっとデフォルメされた地図ですなあ。
地図に文字列を描き加えてみる
もともと各州の「中央」に何か文字列を表示するための地図であるようなので、ここは素直に各州のお名前を上記の地図に書き加えてみることにいたします。上記のように黒でフィルしてしまう州があると文字が見えないので背景色を変えておきます。操作はこんな感じでどうよ。
map('state.vbm', fill = TRUE, col = c('red', 'white', 'yellow', 'green')) map.text('state.vbm', add=TRUE, labels=as.character(map('state.vbm', plot = FALSE)$name))
何を描き加えるかはあなた次第っと。