
Caros Izidro Pi, Luis Iván e Jônatan, Obrigado pelas suas respostas. Analisei cada uma delas e todas foram úteis, mas o Jônatan foi um passo adiante e antecipou a reposta para a próxima pergunta que eu ia fazer na lista - como combinar dois gráficos mantendo um mesmo eixo x. Saudações, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/inde... Phone: (612) 323 9898 On Thursday, September 11, 2014 8:13 AM, Jônatan <jdtatsch@gmail.com> wrote: Segue algumas alternativas: 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) # 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) # teste com lattice cols <- ncol(data):4 levelplot(as.matrix(data[, cols]), aspect = "fill", xlab = "date", ylab = "soil Moist.", scales = list(x = list(at = which(date %in% pretty(date)), labels = pretty(date)), y = list(at = length(cols):1, labels = depths)), contour = T) # Plot soil moisture profile # como são profundidades (abaixo da superfície) use a convenção de z negativo # acrescentei a chuva, precisa ajustar ylabels, mtext() resolve x11() op <- par(mar = c(3,4,12,3)) plot <- filled.contour(date, sort(-depths), as.matrix(data[, cols]), ylab = expression(theta(m^3~~m^-3))) par(new=T,mar=c(23,4,1,8)) with(data, plot(date, precip, type = "h", xaxt = "n", xpd = T, xaxs="i", ylab = "Precip (mm)", xlab = "")) par(op) 2014-09-10 16:15 GMT-03:00 Thiago V. dos Santos <thi_veloso@yahoo.com.br>: 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/inde... Phone: (612) 323 9898 _______________________________________________ R-br mailing list R-br@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.
-- ############################################################### ## Jônatan Dupont Tatsch ## Professor do Departamento de Física ## Centro de Ciências Exatas e Naturais (CCNE) ## Universidade Federal de Santa Maria ## Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil - 97105-900 ## Telefone: +55(55)33012083 ## www.ufsm.br/meteorologia ###############################################################