0

rasterVis パッケージの gplot を使用してプロットしたいラスターがいくつかあります。gplot を発見しました (これは素晴らしく、data.frame(rasterToPoints(r)) を実行するよりもはるかに高速です)。ただし、個別の画像を表示することはできません。通常、r がラスターの場合、次のようにします。

rdf=data.frame(rasterToPoints(r))
rdf$cuts=cut(rdf$value,breaks=seq(0,max(rdf$value),length.out=5))
ggplot(rdf)+geom_raster(aes(x,y,fill=cuts))

しかし、rasterToPoints への呼び出しを回避する方法はありますか? 大きなラスターでは非常に遅くなります。私はできることがわかりました:

cuts=cut_interval(r@data@values,n=5)

ただし、塗りつぶしをカットに設定すると、因子の整数表現がプロットされます。

再現可能なデータは次のとおりです。

x=seq(-107,-106,.1)
y=seq(33,34,.1)
coords=expand.grid(x,y)
rdf=data.frame(coords,depth=runif(nrow(coords),0,2)))
names(rdf)=c('x','y','value')
r=rasterFromXYZ(rdf)

ありがとう

4

1 に答える 1