【发布时间】:2017-09-29 10:12:31
【问题描述】:
我想使用 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)
谢谢
【问题讨论】:
标签: r ggplot2 raster rastervis