オーストラリアの一部の地図で海をマスクしたいと思います。
ここに私の出発点があります:
library(maps)
library(mapdata)
image(x=110:155, y =-40:-10, z = outer(1:45, 1:30, "+"),
xlab = "lon", ylab = "lat")
次に、ここに投稿された解決策 ( How can I color the ocean blue in a map of the US? ) に従って、ポリパスを設定しました。
outline <- map("worldHires", plot=FALSE) # returns a list of x/y coords
xrange <- range(outline$x, na.rm=TRUE) # get bounding box
yrange <- range(outline$y, na.rm=TRUE)
xbox <- xrange + c(-2, 2)
ybox <- yrange + c(-2, 2)
# create the grid path in the current device
polypath(c(outline$x, NA, c(xbox, rev(xbox))),
c(outline$y, NA, rep(ybox, each=2)),
col="light blue", rule="evenodd")][1]
ただし、結果として得られるプロットでは、国境の両側がマスクされます。国境の外でのみマスクするのを手伝ってくれる人はいますか?