@thelatemailの回答は、私がこの問題に遭遇した最も簡単で簡単な解決策です。より普遍的にするためには、ポリゴンを名前で削除する方が良いでしょう。これは、あなたが最初にmap()を呼び出したときの限界に応じて、ポリゴン名のインデックスが異なるためです。イギリス、フランス、スペイン、アルジェリア、マリ、ブルキナファソ、ガーナ、トーゴ:
library(maps)
library(mapproj)
library(mapdata)
mapnames <- map("world2Hires", xlim=c(120, 260), ylim=c(-60, 40),
fill=TRUE, plot=FALSE)
mapnames2 <- map("world2Hires", xlim=c(100, 200), ylim=c(-20, 60),
fill=TRUE, plot=FALSE)
mapnames$names[10]
[1] "Mali"
mapnames2$names[10]
[1] "Thailand"
は本初子午線が交差している8カ国があります。
remove <- c("UK:Great Britain", "France", "Spain", "Algeria", "Mali",
"Burkina Faso", "Ghana", "Togo")
map("world2Hires", regions=mapnames$names[!(mapnames$names %in% remove)],
xlim=c(120, 260),
ylim=c(-60, 40),
boundary=TRUE,
interior=TRUE,
fill=TRUE
)
map.axes()
あなたはまた、(grepl使用することができます)が、ポリゴンをheirarchically命名されているので、あなたは国のいくつかのサブポリゴンを削除することがあります。mapnames$names
でこれらの国の名前を一致させることにより、あなたは、元の範囲に関係なくポリゴンを削除することができます問題のたとえば、mapnames$names[grepl("UK", mapnames$names)]
は34個の一致を返します。
私はこれを編集として提案しましたが、まだ特権がありません。
この問題の解決策を探している他の人には、他のいくつかの興味深い回答があります。ポリゴンを元のままにして、Pacを中心としたグローバルマップを可能にするソリューションについては、Josh O'Brienのhttp://stackoverflow.com/a/10749877/3897439を参照してください。データラインの近くでポリゴンを分割するには、Joris Meysのhttp://stackoverflow.com/a/5538551/3897439を参照してください。 –