私は最近、同様のマップを作成する必要がありました。私が思いついたソリューションは、ggplot2(ところで素晴らしいパッケージです)ではなく、rasterVisパッケージを使用しています。
私の場合は、時間の経過に伴う傾向のマップ(数値変数でもあります)と、傾向の有意性を示すマップ(統計的検定から得られたもの)がありました。
私の場合、数値マップの上に有意性マップをプロットしたいと思いました。これは、「点描」パターンに似ており、信頼度がどこに高いかを示しています。
これは大体、マップの作成に使用したコードです。
require(raster)
require(rasterVis)
# Scratch raster objects
data(volcano)
r1 <- raster(volcano)
over <- ifelse(volcano >=160 & volcano <=180, 1, NA) # This is the "mask" raster
r2 <- raster(over)
# And this is the key step:
# To convert the "mask" raster to spatial points
r.mask <- rasterToPoints(r2, spatial=TRUE)
# Plot
levelplot(r1, margin=F) +
layer(sp.points(r.mask, pch=20, cex=0.3, alpha=0.8))
あなたの場合、次のようにしてコードを変更できます:
1)「バイナリ」ラスターを作成します。たとえば、0は天水で1は灌漑されており、私が行ったようにプロットします。
2)天水用と灌漑用の2つの異なるマスクを作成し、両方を異なるオブジェクトとしてプロットします(たとえば、天水用の円と天水用の十字)。
2番目の代替案では、マップが視覚的に「汚染された」ように見えると思いますが、sp
パッケージのドキュメント、特にを参照することで、ポイントのパラメーターをいつでも制御できます?sp.points
。
それが役に立てば幸い。