user14316891
user14316891

Reputation: 29

How to plot time series graph of a pixel in a raster stack in R

I have a raster stack made of 11 ascii files having temperature values of an area. Each file represents a different time point such as t2, t3,...,t12. I want to select one specific pixel from this area and I want to make a graph showing the changes of temperature values in time (from t2 to t12) of this pixel. I tried the following code:

> myfiles <- list.files(full.names = T)
> temp_files <- stack(myfiles)
> temp_values <- extract(temp_files, mypixel) # mypixel is defined by xyFromCell function
> plot(temp_values)

I check the values and it seemed right. But I will apply the same code for stacks with 500 layers and I cannot check each value in each layer so is this the right way to do that?

Upvotes: 0

Views: 634

Answers (1)

Robert Hijmans
Robert Hijmans

Reputation: 47401

Here is a minimal, self-contained, reproducible example

library(raster)
r <- stack(system.file("external/rlogo.grd", package="raster")) 

Now you can do things like

x <- 1:nlayers(r)
# select the cell you want
y <- r[4089]
# or 
# extract(r, 4089)

And

plot(x, y)

So what you are doing appears to be correct.

Upvotes: 1

Related Questions