У меня есть несколько растров, которые я хотел бы построить с помощью gplot в пакете rasterVis. Я только что открыл gplot (что фантастично и намного быстрее, чем делать data.frame (rasterToPoints (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([email protected]@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)
Благодаря
Спасибо за советы. sampleRegular выглядит многообещающим, не знал об этом. Я также не связан с ggplot2, хотя мое знакомство с ним делает его привлекательным. – Dominik