Plotar perfil de umidade no solo ao longo do ano

Caros colegas do R, muito bacana o script disponibilizado para traçar os perfis de umidade do solo. Será útil para nós. Só gostaria de trocar as cores, com valores mais alto (umido) para azul e valores mais baixos (solo seco) para vermelho, assim o gráfico fica mais cognitivo. Alguém sabe como mudar as cores ? Cordialmente, Wenceslau Teixeira Embrapa Solos 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) -- Wenceslau Teixeira wgt007@gmail.com skype: wgt007

Caro Wenceslau, Também estou buscando mudar a escala de cores para algo mais didático, mas ainda não acertei totalmente as configurações. Por enquanto, o que estou fazendo é: # criar uma escala de azul usando o RColorBrewer. # digite display.brewer.all() para ver as paletas disponíveis cols <- colorRampPalette(brewer.pal(9,"Blues"))(200) # plotar o perfil especificando a paleta no argumento "cols" plot <- filled.contour(x= date, y= sort(-(as.numeric(names(depths)))), z= t(soil_data[11:1,]), zlim= c(0,1), ylab= expression(theta(m^3~~m^-3)), col=cols, nlevels= 100) Ainda não é o ideal, mas pelo menos uma escala azul torna mais fácil a interpretação de diferentes quantidades de umidade no solo. 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 18, 2014 9:46 AM, Wenceslau Teixeira <wgt007@gmail.com> wrote: Caros colegas do R, muito bacana o script disponibilizado para traçar os perfis de umidade do solo. Será útil para nós. Só gostaria de trocar as cores, com valores mais alto (umido) para azul e valores mais baixos (solo seco) para vermelho, assim o gráfico fica mais cognitivo. Alguém sabe como mudar as cores ? Cordialmente, Wenceslau Teixeira Embrapa Solos 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) -- Wenceslau Teixeira wgt007@gmail.com skype: wgt007 _______________________________________________ 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.

mude brewer.pal(9,"Blues") para rev(brewer.pal(9,"RdBu")) b Em 18 de setembro de 2014 12:00, Thiago V. dos Santos < thi_veloso@yahoo.com.br> escreveu:
Caro Wenceslau,
Também estou buscando mudar a escala de cores para algo mais didático, mas ainda não acertei totalmente as configurações. Por enquanto, o que estou fazendo é:
# criar uma escala de azul usando o RColorBrewer. # digite display.brewer.all() para ver as paletas disponíveis cols <- colorRampPalette(brewer.pal(9,"Blues"))(200)
# plotar o perfil especificando a paleta no argumento "cols" plot <- filled.contour(x= date, y= sort(-(as.numeric(names(depths)))), z= t(soil_data[11:1,]), zlim= c(0,1), ylab= expression(theta(m^3~~m^-3)), col=cols, nlevels= 100)
Ainda não é o ideal, mas pelo menos uma escala azul torna mais fácil a interpretação de diferentes quantidades de umidade no solo.
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 18, 2014 9:46 AM, Wenceslau Teixeira < wgt007@gmail.com> wrote:
Caros colegas do R,
muito bacana o script disponibilizado para traçar os perfis de umidade do solo. Será útil para nós. Só gostaria de trocar as cores, com valores mais alto (umido) para azul e valores mais baixos (solo seco) para vermelho, assim o gráfico fica mais cognitivo. Alguém sabe como mudar as cores ?
Cordialmente,
Wenceslau Teixeira Embrapa Solos
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)
--
Wenceslau Teixeira
wgt007@gmail.com skype: wgt007
_______________________________________________ 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.
_______________________________________________ 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.

Benilton, Obrigado pela dica. Eu já havia tentado tanto a RdBu quanto a RdYlBu no meu notebook (Windows), e ambas tinha ficado terríveis. Até aquele ponto, a Blues era a que oferecia o melhor resultado. Porém, acabei de rodar o código aqui no Mac do trabalho e a figura ficou perfeita com o RdBu. Aprendi a lição de que a qualidade de uma figura criada pelo x11 depende fortemente da plataforma utilizada. 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 18, 2014 10:31 AM, Benilton Carvalho <beniltoncarvalho@gmail.com> wrote: mude brewer.pal(9,"Blues") para rev(brewer.pal(9,"RdBu")) b Em 18 de setembro de 2014 12:00, Thiago V. dos Santos <thi_veloso@yahoo.com.br> escreveu: Caro Wenceslau,
Também estou buscando mudar a escala de cores para algo mais didático, mas ainda não acertei totalmente as configurações. Por enquanto, o que estou fazendo é:
# criar uma escala de azul usando o RColorBrewer. # digite display.brewer.all() para ver as paletas disponíveis cols <- colorRampPalette(brewer.pal(9,"Blues"))(200)
# plotar o perfil especificando a paleta no argumento "cols" plot <- filled.contour(x= date, y= sort(-(as.numeric(names(depths)))), z= t(soil_data[11:1,]), zlim= c(0,1), ylab= expression(theta(m^3~~m^-3)), col=cols, nlevels= 100)
Ainda não é o ideal, mas pelo menos uma escala azul torna mais fácil a interpretação de diferentes quantidades de umidade no solo.
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 18, 2014 9:46 AM, Wenceslau Teixeira <wgt007@gmail.com> wrote:
Caros colegas do R,
muito bacana o script disponibilizado para traçar os perfis de umidade do solo. Será útil para nós. Só gostaria de trocar as cores, com valores mais alto (umido) para azul e valores mais baixos (solo seco) para vermelho, assim o gráfico fica mais cognitivo. Alguém sabe como mudar as
cores ?
Cordialmente,
Wenceslau Teixeira Embrapa Solos
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)
--
Wenceslau Teixeira
wgt007@gmail.com skype: wgt007
_______________________________________________ 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.
_______________________________________________ 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.

Para umidade do solo eu geralmente a função de paleta de cores tim.colors() do pacote fields. require(fields) # para paleta tim.colors() 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) ## colunas de interesse na ordem adequada para plot do perfil cols <- ncol(data):4 # 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() nl <- 32 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)), col = rev(tim.colors(nl)) ) 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-18 11:46 GMT-03:00 Wenceslau Teixeira <wgt007@gmail.com>:
Caros colegas do R,
muito bacana o script disponibilizado para traçar os perfis de umidade do solo. Será útil para nós. Só gostaria de trocar as cores, com valores mais alto (umido) para azul e valores mais baixos (solo seco) para vermelho, assim o gráfico fica mais cognitivo. Alguém sabe como mudar as cores ?
Cordialmente,
Wenceslau Teixeira Embrapa Solos
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)
--
Wenceslau Teixeira
wgt007@gmail.com skype: wgt007
_______________________________________________ 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 ###############################################################
participantes (4)
-
Benilton Carvalho
-
Jônatan
-
Thiago V. dos Santos
-
Wenceslau Teixeira