ggplot でポイントを追加したコロプレス マップを作成しています。したがって、geom_map ヘルプ ドキュメントの最後の例に従ってください。
私はこれを思いついた:
require(ggplot2)
require(maps)
set.seed(47)
county_map <- map_data("county", "washington")
names(county_map)[5:6] <- c("state", "id")
countyData <- data.frame(id = unique(county_map$id), value = rnorm(39))
map1 <- ggplot(countyData, aes(map_id = id)) +
geom_map(aes(fill = value), map = county_map, colour = "black") +
coord_map() +
expand_limits(x = county_map$long, y = county_map$lat)
print(map1)
これは、コロプレス マップに最適です。(それはさておき、私はこのmap_data
機能にわくわくしています。)しかし、私はポイントを追加しようとします
pointData <- structure(list(xx = c(-119.872483243387, -122.809038239929,
-122.143143065312
), yy = c(48.1320425447619, 46.7352071436801, 47.9911548514037
)), .Names = c("xx", "yy"), row.names = c(1746L, 7281L, 2692L
), class = "data.frame")
map1 + geom_point(mapping = aes(xx, yy), data = pointData)
そして、私はそれを機能させることができません。group
に設定したり、引数に名前をNULL
付けたりするなど、多くのバリエーションを試しましたが、うまくいきませんでした。aes
したがって、マップデータをコロプレスデータとマージして を使用することで、問題なくまったく同じことを行うこの質問geom_polygon
を見つけました。これはとにかくより簡単に思えます。(最初に ID マッピングを解決するのに少し時間がかかりました。これは、region
を正常に使用するために列名を削除する必要があることに気付いていなかったからid
です。また、最初のメソッドの構文は、私にはまだ奇妙に思えます。)
だから、2つの質問:
- 上記の方法を使用して、別のデータ フレームからポイントを追加するにはどうすればよい
geom_map
ですか? - さらに重要なことは、アプローチ
geom_map
とは対照的に使用する利点はありますか?geom_polygon