ggplot2にgeom_mapがあるので、データをコロプレスにマッピングする古い方法から移行しようとしています。例は10-11ページ(ここ)に見られます。
ggplotの新しいgeom_mapだけでなく、過去にコロプレスを作成したデータセットを使用してこれを実行しようとしています。これがHadelyの例のようだと思うが、すべて同じ色だと思う私の試みです。
データセットとコード:
#loads 2 data frames: ny and cad from my drop box
load(url("http://dl.dropbox.com/u/61803503/MAPPING.RData"))
library(ggplot2)
ggplot(cad, aes(map_id = subregion)) +
geom_map(aes(fill = Math_Pass_Rate), map = ny) +
expand_limits(x = ny$long, y = ny$lat) +
guides(fill = guide_colorbar(colours = topo.colors(10))) +
opts(legend.position = "top")
なぜ同じ色で表示されるのですか?
@PaulHiemstraからの追加情報
少し戸惑いましたが、良い結果が得られませんでした。ただし、リンク先のggplot2pdfの例が機能する理由も疑問に思います。
このコードは、正しいコロプレスマップを生成します。
crimes <- data.frame(state = tolower(rownames(USArrests)), USArrests)
states_map <- map_data("state")
ggplot(crimes, aes(map_id = state)) +
geom_map(aes(fill = Murder), map = states_map) +
expand_limits(x = states_map$long, y = states_map$lat) +
guides(fill = guide_colorbar(colours = topo.colors(10))) +
opts(legend.position = "top")
を使用すると、 (ポリゴン)の列と( )の列map_id = state
の間にリンクが作成されることが期待されます。列が含まれています:states_map
crimes
Murder
crimes
state
> head(crimes)
state Murder Assault UrbanPop Rape
Alabama alabama 13.2 236 58 21.2
Alaska alaska 10.0 263 48 44.5
Arizona arizona 8.1 294 80 31.0
Arkansas arkansas 8.8 190 50 19.5
California california 9.0 276 91 40.6
Colorado colorado 7.9 204 78 38.7
しかし、states_map
しません:
> head(states_map)
long lat group order region subregion
1 -87.46201 30.38968 1 1 alabama <NA>
2 -87.48493 30.37249 1 2 alabama <NA>
3 -87.52503 30.37249 1 3 alabama <NA>
4 -87.53076 30.33239 1 4 alabama <NA>
5 -87.57087 30.32665 1 5 alabama <NA>
6 -87.58806 30.32665 1 6 alabama <NA>
したがって、ポリゴンとデータの間のリンクでは、いくつかの黒魔術が起こっているようです。これはまた、@TylerRinkerが抱えている問題を説明するかもしれません。