[R-br] Plotar perfil de umidade no solo ao longo do ano

Luis Iván Ortiz Valencia liov2067 em gmail.com
Quarta Setembro 10 20:25:54 BRT 2014


C em Ro

Antes de fazer o grafico contour,pode gerar uma grade com seus pontos,
usando interpolacao espacial. No pacote raster ter a opcao criar curvas de
nivel.
Em 10/09/2014 22:16, "Thiago V. dos Santos" <thi_veloso em yahoo.com.br>
escreveu:

> Olá pessoal,
>
> Estou tentando fazer um gráfico de contorno no R mas ainda não encontrei a
> função certa para isso. Basicamente, eu tenho uma simulação de umidade em
> 11 camadas do solo para cada dia do ano, e gostaria de mostrar isso na
> forma de um perfil de solo.
>
> Por favor leia os comentários ao reproduzir os meus dados com o código
> abaixo:
>
> 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]))
> # essa é a matriz que eu quero plotar. Reparem que ela já está organizada
> como um "perfil",
> # com as linhas representando as camadas de solo e as colunas
> representando os dias do ano
>
> A minha primeira tentativa foi usar a função filled.contour do pacote
> graphics. Eu defino um vetor com o nome das camadas do solo e então eu
> tento plotar, mas a função diz que a matriz está com as dimensoes
> invertidas:
>
> # 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
>
> Obviamente eu consigo transpor a matrix para forçar o gráfico, mas a
> figura final não é o que eu preciso - o perfil fica de "cabeça para baixo".
> plot <- filled.contour(data$julian, depths, t(mat))
>
> Como essa função só aceita os eixos em ordem crescente, eu não consigo
> inverter o eixo y para mostrar a primeira camada do solo no topo do gráfico.
>
> Poranto, eu aprecio qualquer sugestão de funções e/ou pacotes para
> construir o gráfico que eu preciso.
>
> Saudações,
> --
> 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
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140910/d4a90c97/attachment.html>


Mais detalhes sobre a lista de discussão R-br