David,

Thanks a lot for your sugestion, it solved my problem!
 
Greetings,
--
Thiago V. dos Santos
PhD student
Land and Atmospheric Science
University of Minnesota
http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
Phone: (612) 323 9898


On Wednesday, September 10, 2014 4:56 PM, David Winsemius 
<[email protected]> wrote:
 



On Sep 10, 2014, at 1:20 PM, Thiago V. dos Santos wrote:

> Dear all,
> 
> This is my first message in this list, so please excuse any mistake.
> 
> I am trying to plot moisture data for 11 soil layers over the course of the 
> year, but I am yet to find the correct function to do that. I am trying to 
> reproduce the lower figure in this panel: https://imageshack.com/i/exmVz5QSp
> 
> Please read the comments while reproducing my data with the code below: 
> 
> ----------------------------------------
> library(repmis) # reads text data directly from dropbox - no need to download 
> any file
> 
> # read data
> url <- 'https://dl.dropboxusercontent.com/u/27700634/precip.txt'
> tmp <- repmis::source_data(url, sep = '', header = TRUE)
> 
> # convert julian day to date
> date <- as.Date(tmp$julian, origin='2011-12-31')
> data <- cbind(date, tmp)
> head(data)
> 
> # now, convert soil layers to matrix and transpose it
> mat <- t(as.matrix(data[, 4:14]))
> head(mat) 
> 
> # this is the very matrix I want to plot. Please notice that it is already 
> organized as a "profile",
> # with rows representing soil layers and columns representing day of year.
> ----------------------------------------
> 
> 
> My first attempt was to use function filled.contour from "graphics" package. 
> I define a vector with labels for soil layers and then I try to plot, but I 
> receive an error saying the matrix has incorrect dimensions:
> 
> 
> ----------------------------------------
> 
> # define vector with depth of soil layers
> 
> depths <- c(0.05,0.10,0.20,0.30,
>            0.40,0.60,0.80,1.00,
>            1.50,2.00,2.50)
> 
> # Plot soil moisture profile
> plot <- filled.contour(data$julian, depths, mat)
> 
> 
> #Error in .filled.contour(x, y, z, levels, col) : dimension mismatch

You need to decide what orientation you want. At the moment the mat-matrix is 
11 x 366 and the x-component is the 11. (And for some reason you are the one 
who made the first transposition.) There's no auto-transformation in 
filled.contour when the dimensions are reversed. 

This proceeds without error:

mat2 <- as.matrix(data[, 4:14])
plot <- filled.contour(x=data$julian, y=depths, z=mat2)

> ----------------------------------------
> 
> 
> I can obviously tranpose the matrix to force the plot, but the resulting 
> figure is not what I need - the soil profile is shown upside down:
> 

If you want the reverse the depth order, do not transpose, .... just:

plot <- filled.contour(x=data$julian, y=depths, z=mat2[, 11:1])




> ----------------------------------------
> plot <- filled.contour(data$julian, depths, t(mat))
> 
> ----------------------------------------
> 
> 
> Because this functions requires axis labels to be ascendent, I am not able to 
> reverse them in order to show the first layer at the top of the graphic.
> 
> I would really appreciate any feedback or directions on how to show my data 
> as a contour plot as mentioned above. Thanks in advance! 
> 
> 
> Greetings,
> --
> Thiago V. dos Santos
> PhD student
> Land and Atmospheric Science
> University of Minnesota
> http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
> Phone: (612) 323
> 9898
>     [[alternative HTML version deleted]]
> 
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius
Alameda, CA, USA
        [[alternative HTML version deleted]]

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to