I have a rasterstack (5 raster layers) that actually is a time series raster.
r <- raster(nrow=20, ncol=200)
s <- stack( sapply(1:5, function(i) setValues(r, rnorm(ncell(r), i, 3) )) )
s
class : RasterStack
dimensions : 20, 200, 4000, 5 (nrow, ncol, ncell, nlayers)
resolution : 1.8, 9 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
names : layer.1, layer.2, layer.3, layer.4, layer.5
min values : -9.012146, -9.165947, -9.707269, -7.829763, -5.332007
max values : 11.32811, 11.97328, 15.99459, 15.66769, 16.72236
My objective is to plot each pixel and explore their behavior over time.
How could I extract each pixels together with their x,y coordinates and plot a time series curve?
You can use
extract
and pass a vector of cell numbers you wish to extract to return a matrix of values in each pixel. Each row represents a pixel, the columns are layers...However
extract
is more useful when trying to get particular pixels. To get all pixels with thex
/y
coordinates you can just userasterToPoints
...Thanks a lot @SimonO101 !
This code works.