独自のポリゴンでコロプレス マップを作成しようとしています。ポリゴンは世界全体を並べていますが、私は米国内の領域のみを表示したいと考えています。私が望むのは、米国をカバーする境界ボックスの外側にあるポリゴンをクリップすることですが、境界ボックスを制限として指定すると、境界ボックスの一部が外側にあるすべてのポリゴンがまったく描画されません。
長方形を指定して、次のようなデータがあります。
lat long rank group
1 36.56792 -80.260138889 1 1
2 37.97319 -80.260138889 1 1
3 37.97319 -78.866805556 1 1
4 36.56792 -78.866805556 1 1
5 -45.00000 -0.008333334 2 2
6 -22.00000 -0.008333334 2 2
7 -22.00000 22.075000000 2 2
8 -45.00000 22.075000000 2 2
9 -44.99500 -67.441666667 3 3
10 -33.60000 -67.441666667 3 3
11 -33.60000 -45.700000000 3 3
12 -44.99500 -45.700000000 3 3
...
私は次のようなコードを使用しています:
library(ggplot2)
library(maps)
tab = read.table("hiergrid.level1.penn-ave.dat", header = TRUE)
data = data.frame(tab)
mapstates = map_data("state")
ggplot(data, aes(long, lat, group=group)) +
geom_polygon(aes(fill=rank)) +
ylim(25,50) +
xlim(-125,-60) +
coord_map(project="polyconic") +
geom_path(data = mapstates, color = "white", size = .75)
次のような出力が得られます。
ご覧のとおり、バウンディング ボックスの外側のポリゴンはまったく描画されていませんが、描画してクリップしたいのです。何か助けはありますか?