<p dir="ltr">C@Ro </p>
<p dir="ltr">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.</p>
<div class="gmail_quote">Em 10/09/2014 22:16, "Thiago V. dos Santos" <<a href="mailto:thi_veloso@yahoo.com.br">thi_veloso@yahoo.com.br</a>> escreveu:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12pt"><div><span>Olá pessoal,</span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span><br></span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span>Estou tentando fazer um gráfico de contorno no R mas ainda não encontrei a função certa para isso. </span><span style="background-color:transparent">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.</span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span style="background-color:transparent"><br></span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span style="background-color:transparent">Por favor leia os comentários ao reproduzir os meus dados com o código abaixo:</span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span style="background-color:transparent"><br></span></div><div style="background-color:transparent">library(repmis) # reads text data directly from dropbox - no need to download any file</div><div style="background-color:transparent"><br></div><div style="background-color:transparent"># read data</div><div style="background-color:transparent">url <- '<a href="https://dl.dropboxusercontent.com/u/27700634/precip.txt" target="_blank">https://dl.dropboxusercontent.com/u/27700634/precip.txt</a>'</div><div style="background-color:transparent">tmp <- repmis::source_data(url, sep = '', header = TRUE)</div><div style="background-color:transparent"><br></div><div style="background-color:transparent"># convert julian day to date</div><div style="background-color:transparent">date <- as.Date(tmp$julian, origin='2011-12-31')</div><div style="background-color:transparent">data <-
cbind(date, tmp)</div><div style="background-color:transparent">head(data)</div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><br></div><div style="background-color:transparent"># now, convert soil layers to matrix and transpose it</div><div style="background-color:transparent">mat <- t(as.matrix(data[, 4:14]))</div><div style="background-color:transparent"># essa é a matriz que eu quero plotar. Reparem que ela já está organizada como um "perfil",</div><div style="background-color:transparent"><span style="background-color:transparent"></span></div><div style="background-color:transparent"># com as linhas representando as camadas de solo e as colunas representando os dias do ano</div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span style="background-color:transparent"><br></span></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span style="background-color:transparent">A minha primeira tentativa foi usar a função </span><span style="font-size:12pt">filled.contour</span><span style="font-size:12pt"> 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:</span><br></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span style="font-size:12pt"><br></span></div><div style="background-color:transparent"># define vector with depth of soil layers</div><div style="background-color:transparent">depths <- c(0.05,0.10,0.20,0.30,</div><div style="background-color:transparent"> 0.40,0.60,0.80,1.00,</div><div style="background-color:transparent"> 1.50,2.00,2.50)</div><div style="background-color:transparent"><br></div><div style="background-color:transparent"># Plot soil moisture profile</div><div style="background-color:transparent"><span></span></div><div style="background-color:transparent">plot <-
filled.contour(data$julian, depths, mat)</div><div><div><br></div><div>#Error in .filled.contour(x, y, z, levels, col) : dimension mismatch</div><div><br></div></div><div>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".</div><div><div style="margin-top:0.1em;margin-bottom:0.1em;background-color:transparent">plot <- filled.contour(data$julian, depths, t(mat))</div><div style="margin-top:0.1em;margin-bottom:0.1em;background-color:transparent"><br></div><div style="margin-top:0.1em;margin-bottom:0.1em;color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent">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.</div><div></div></div><div><br></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-style:normal;background-color:transparent"><span>Poranto, eu aprecio qualquer sugestão de funções e/ou pacotes para construir o gráfico que eu preciso. </span></div><div></div><div> </div><div>Saudações,<br>--<br>Thiago V. dos Santos<br>PhD student<br>Land and Atmospheric Science<br>University of Minnesota<br><a href="http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm" target="_blank">http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm</a><br>Phone: (612) 323 9898</div></div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div>