ggplot2を使用してファクター値でラスターをプロットするのに問題があります。
library(ggplot2)
library(raster)
まず、ラスターデータを読み込みます
f <- system.file("external/test.grd", package="raster")
r <- raster(f)
座標と値を抽出する
val <- getValues(r)
xy <- as.data.frame(xyFromCell(r,1:ncell(r)))
xy <- cbind(xy,val)
geom_raster()を使用してグリッドをプロットします。すべてが正常に動作します。
ggplot(xy, aes(x=x, y=y, fill=val)) + geom_raster() + coord_equal()
連続ラスターはありませんが、分類されています。ラスターを再分類します。
r <- reclass(r, c(0,500,1, 500,2000,2))
val <- getValues(r)
xy <- as.data.frame(xyFromCell(r,1:ncell(r)))
xy <- cbind(xy,val)
分類されたラスターをプロットします。またOKですが、伝説は継続的です
ggplot(na.omit(xy), aes(x=x, y=y, fill=val)) + geom_raster() + coord_equal()
値を因子としてプロットすると、マップが正しくなくなります
ggplot(na.omit(xy), aes(x=x, y=y, fill=factor(val))) + geom_raster() + coord_equal()