Re: [R-br] Digest R-br, volume 62, assunto 26

Olá, Obtive ótimos resultados com as sujestões. Desculpem a demora para passar o feedback das minhas dúvidas. O único problema que tive que ainda não solucionei foi com relação ao atributo "margin": levelplot(r1, margin=F, contour=T) ele me retorna a este erro: Error in do.call("constructMargin", margin) : second argument must be a list ai eu substituo por "margin=T" e ele apresenta a figura com essas bordas https://www.dropbox.com/s/l8q3sttsqg3iu2s/ozone.pdf?dl=0 o que eu acredito que faz com que a barra de cores fique na horizontal(não que seja problema a orientação da barra). ASCii quanto a geração do arquivo de saida do tipo ascii eu consegui realizar com êxito. Muito obrigado pelas sujestões *Thiago V. dos Santos *e * Éder Comunello* ____________________________________________________________________________ MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154 ____________________________________________________________________________ Em 21 de fevereiro de 2016 12:00, <r-br-request@listas.c3sl.ufpr.br> escreveu:
Enviar submissões para a lista de discussão R-br para r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: Cores em mapas (salah) 2. Re: Cores em mapas (Éder Comunello) 3. Re: Cores em mapas (Thiago V. dos Santos) 4. Gerar arquivo de saída ascii (Mateus Dias Nunes) 5. Re: Gerar arquivo de saída ascii (Éder Comunello)
----------------------------------------------------------------------
Message: 1 Date: Sat, 20 Feb 2016 16:46:44 -0200 From: salah <salah3.1416@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Cores em mapas Message-ID: <56C8B494.2040303@gmail.com> Content-Type: text/plain; charset="utf-8"; Format="flowed"
Olá Mateus
segue sugestão:
## paleta de cores cor1 = heat.colors(15) cor2 = terrain.colors(15) cor3 = topo.colors(15, alpha = .5) cor4 = palette(rainbow(9)) library(RColorBrewer) cor5 = brewer.pal(7, "BrBG")
contour( sort(lon), lat, levels = intervalos, nlevels = 15, media_ColumnAmountO3[ order(lon), ], add = T, lwd = 2, col = cor1, labcex = 1.3)
## usando o pacote raster library(raster) oz = raster('teste.nc') xlim = c(-100, -10) ylim = c(-60, 10) plot(oz, xlim = xlim, ylim = ylim) map(xlim = xlim, ylim = ylim, add = TRUE, col = "black") title(main = "Campo médio de Ozônio Novembros" ) contour(oz, add = TRUE, xlim = xlim, ylim = ylim)
saudações
Em 19/02/2016 17:18, Mateus Dias Nunes escreveu:
Olá eu gostaria de colocar cores (com a barra de cores ao lado da figura) no meu mapa ao invés de usar os contornos com a função "contour"; abaixo o link da figura que consegui gerar através dessa função.
https://www.dropbox.com/s/xi622mbpqg7tgch/campo_medio_O3.png?dl=0
abaixo o script que gerou o grafico com os contornos.
# Carregando biblioteca para manipular arquivos netCDF
library(maps) library(ncdf4)
#==========================================================================
#BIBLIOTECA "ncdf4". # PARA ESTE EXEMPLO SÃO USADOS RECURSOS PARA ABRIR A BIBLIOTECA ) #POIS RNetCDF, ncdf e ncdf4 APRESENTAM COMANDOS DIFERENTES PARA ABRIRMOS AS VARIÁVEIS
dados <- nc_open('teste.nc <http://teste.nc>') # lendo coordenadas espaço-temporal lat <- ncvar_get( dados, 'lat' ) lon <- ncvar_get( dados, 'lon' ) time <- ncvar_get( dados, 'time' )
#=======================================================================================================
# lendo dados coluna total de Ozônio ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3 dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3) dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#==========================================================================================================
# longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
# criando arquivo PNG que receberá o campo com o mapa
#png( filename="campo_medio_O3_jan2005.png",width=600,height=800 )
# plotando mapa da America do Sul map( xlim=c(-100,-10), ylim=c(-60,10) ) map.axes() # plotando eixos title( main="Campo médio de ozonio janeiros" ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU) intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
# adicionando campo de coluna de ozonio
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3, col="black" )
# fechando arquivo PNG #dev.off()
obrigado
____________________________________________________________________________
MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154
____________________________________________________________________________
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/2a7a5001/attac...
------------------------------
Message: 2 Date: Sat, 20 Feb 2016 18:15:55 -0300 From: Éder Comunello <comunello.eder@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Cores em mapas Message-ID: < CABmC8gmAVX1Hsd7xViw+Lk6_aJqAruPTNhZzYqZJmOzAC9JeUg@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Senhores, boa tarde!
Outra opção:
intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 ) map( xlim=c(-100,-10), ylim=c(-60,10)) -> tmp filled.contour(sort(lon), lat, media_ColumnAmountO3[order(lon),], levels=intervalos, lwd=2, col=terrain.colors(14), xlim=c(-100,-10), ylim=c(-60,10), plot.axes={axis(1); axis(2); lines(tmp)}) title( main="Campo médio de ozonio janeiros" ) # título do gráfico
================================================ Éder Comunello Agronomist (UEM), MSc in Environ. Sciences (UEM) DSc in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/03a857a9/attac...
-------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: Rplot_tmp.png Tipo: image/png Tamanho: 7776 bytes Descrição: não disponível URL: < http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/03a857a9/attac...
------------------------------
Message: 3 Date: Sat, 20 Feb 2016 21:33:53 +0000 (UTC) From: "Thiago V. dos Santos" <thi_veloso@yahoo.com.br> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Cores em mapas Message-ID: <978737470.349160.1456004033164.JavaMail.yahoo@mail.yahoo.com> Content-Type: text/plain; charset=UTF-8
Acho que você procura a função filled.contour, ao invés de contour. Experimente:
filled.contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ]) map( xlim=c(-100,-10), ylim=c(-60,10), add=T)
Ou então eu deixo aqui algumas sugestões usando o levelplot (vai precisar baixar o shapefile da AS em anexo):
---------------------- library(raster) library(rasterVis)
# Abre Arquivo r <- brick("~/Downloads/teste.nc")
# Tira média dos dois mapas r1 <- calc(r, fun=mean)
# Uma das vantagens de usar raster/rasterVis: depois de duas linhas de código, já estamos plotando os dados levelplot(r1, margin=F, contour=T)
# Descompacta e abre contorno da América do Sul para adicionar ao plot #(precisa baixar arquivo em anexo ou do link http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip)
unzip("~/Downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip") mapaSHP <- shapefile('TM_WORLD_BORDERS_SIMPL-0.3.shp')
# Plota com contorno da America do Sul levelplot(r1, margin=F, contour=T, main="Campo médio de Ozônio Novembros") + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
# Quer mudar a cor? Basta mudar as configurações de 'par.settings' levelplot(r1, margin=F, contour=T, main="Campo médio de Ozônio Novembros", par.settings=RdBuTheme) + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
# Também é possível criar a sua própria paleta de cores, usando o pacote Rcolorbrewer # Veja aconselhamento para cores de mapa aqui: http://colorbrewer2.org/ # Vou criar uma escala sequencial, com 5 tons de azul # Você pode ver todas as paletas disponíveis no pacote digitando display.brewer.all() my.Theme=rasterTheme(region=brewer.pal('Blues', n=5))
# Aqui eu personalizo a escala usando os valores do raster e um numero maior de quebras intervalos <- seq(trunc(min(values(r1))), trunc(max(values(r1))), length.out=length(my.Theme$regions$col)-1)
# Plota p <- levelplot(r1, margin=F, contour=T, par.settings=my.Theme, at=intervalos, main="Campo médio de Ozônio Novembros") p + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
# Para salvar, eu recomendo copiar a imagem direto do display para um arquivo pdf dev.copy2pdf(file="~/Desktop/ozone.pdf", width = 11, height = 8.5)
# Depois fica fácil convertê-la para png em altíssima resolução (600dpi) usando o ImageMagick (que precisa estar instalado): # Assim a sua imagem está de acordo com as normas de publicação das principais revistas científicas system("convert -density 600 ~/Desktop/ozone.pdf ~/Desktop/ozone.png")
Veja o resultado final: https://dl.dropboxusercontent.com/u/27700634/ozone.png
Greetings, -- Thiago V. dos Santos
PhD student Land and Atmospheric Science University of Minnesota
On Friday, February 19, 2016 1:18 PM, Mateus Dias Nunes < nunes.mateusdias@gmail.com> wrote:
Olá eu gostaria de colocar cores (com a barra de cores ao lado da figura) no meu mapa ao invés de usar os contornos com a função "contour"; abaixo o link da figura que consegui gerar através dessa função.
https://www.dropbox.com/s/xi622mbpqg7tgch/campo_medio_O3.png?dl=0
abaixo o script que gerou o grafico com os contornos.
# Carregando biblioteca para manipular arquivos netCDF
library(maps) library(ncdf4)
#==========================================================================
#BIBLIOTECA "ncdf4". # PARA ESTE EXEMPLO SÃO USADOS RECURSOS PARA ABRIR A BIBLIOTECA ) #POIS RNetCDF, ncdf e ncdf4 APRESENTAM COMANDOS DIFERENTES PARA ABRIRMOS AS VARIÁVEIS
dados <- nc_open('teste.nc') # lendo coordenadas espaço-temporal lat <- ncvar_get( dados, 'lat' ) lon <- ncvar_get( dados, 'lon' ) time <- ncvar_get( dados, 'time' )
#=======================================================================================================
# lendo dados coluna total de Ozônio ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3 dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3) dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#========================================================================================================== # longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
# criando arquivo PNG que receberá o campo com o mapa
#png( filename="campo_medio_O3_jan2005.png",width=600,height=800 )
# plotando mapa da America do Sul map( xlim=c(-100,-10), ylim=c(-60,10) ) map.axes() # plotando eixos title( main="Campo médio de ozonio janeiros" ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU) intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
# adicionando campo de coluna de ozonio
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3, col="black" )
# fechando arquivo PNG #dev.off()
obrigado
____________________________________________________________________________ MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL
TELEFONE: +55 (53) 81125154
____________________________________________________________________________ _______________________________________________ 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� c�igo m�imo reproduz�el.
------------------------------
Message: 4 Date: Sun, 21 Feb 2016 00:44:03 -0300 From: Mateus Dias Nunes <nunes.mateusdias@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: [R-br] Gerar arquivo de saída ascii Message-ID: < CAHw9po8NFWiPiO5h78Jf8g_o7XL+uioeWJ47USTUGk_n1wFpFA@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Olá preciso gerar um arquivo de saída ascii que contenha as informações de lat e lon para este campo meteorológico. Já consegui gerar o arquivo ascii, porém ele fica sem as informações de lat (-60S,10N) e lon(-120W,10E) abaixo o script.
library(maps)
library(ncdf4)
dados <- nc_open('teste.nc')
lat <- ncvar_get( dados, 'lat' )
lon <- ncvar_get( dados, 'lon' )
time <- ncvar_get( dados, 'time' )
# lendo dados coluna total de Ozônio
ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3
dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#==========================================================================================================
# longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa
for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
plotando mapa da America do Sul
map(xlim=c(-90,-30), ylim=c(-60,10))
map.axes() # plotando eixos
title( main="Campo médio de Ozônio " ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU)
intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
#PARA PLOTAR GRAFICO CONTORNOS EM PRETO E BRANCO
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3 )
teste=data.frame(media_ColumnAmountO3)
write.table(teste,file="teste.txt",row.names=TRUE,sep="",quote=FALSE)
____________________________________________________________________________
MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154
____________________________________________________________________________ -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160221/3dedadde/attac...
------------------------------
Message: 5 Date: Sun, 21 Feb 2016 09:23:10 -0400 From: Éder Comunello <comunello.eder@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Gerar arquivo de saída ascii Message-ID: < CABmC8gmiCj-Y78SJvzpcpMi3vyOYKpmFbRJDUsNWLVNtESEA+Q@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Mateus, bom dia!
Sugiro que você forneça o feedback acerca das sugestões que recebe na lista. Assim, podemos saber qual solução funcionou e o material fica útil pra referência futura. Dentro das suas possibilidades, avalie a possibilidade de postar o script final com a solução que você produziu.
Segue uma ideia pra produzir um arquivo ascii (x, y, z):
### <code r> ### acrescente no seu script!
map( xlim=c(-100,-10), ylim=c(-60,10)) map.axes() contour(lon, lat, media_ColumnAmountO3, add=T, levels=intervalos, lwd=2, labcex=1.3, col=heat.colors(14) )
# Transpose + flip pra matriz corresponder ao que você vê plotado na tela com contour(), filled.countour() tmp <- (t(media_ColumnAmountO3)[ncol(media_ColumnAmountO3):1,])
# Verificando... tmp[1:3, 1:4] # UL tmp[1:3, 127:130] # UR tmp[68:70, 1:4] # LL tmp[68:70, 127:130] # LR as.vector(tmp[1:3, 1:4]) ### by columns - upper left
grid <- expand.grid(x=lon, y=lat) head(grid[order(grid$x, rev(grid$y)),]) # by columns
teste <- cbind(grid[order(grid$x, rev(grid$y)),], z=as.vector(tmp)) head(teste, 3) # x y z # 8971 -119.5 9.5 245.2939 # 8841 -119.5 8.5 244.0713 # 8711 -119.5 7.5 242.9422
tail(teste, 3) # x y z # 390 9.5 -57.5 296.8890 # 260 9.5 -58.5 297.0280 # 130 9.5 -59.5 296.6809
write.table(teste,file="teste.txt",row.names=TRUE, sep="", quote=FALSE) ### </code>
================================================ Éder Comunello Agronomist (UEM), MSc in Environ. Sciences (UEM) DSc in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00
Em 20 de fevereiro de 2016 23:44, Mateus Dias Nunes < nunes.mateusdias@gmail.com> escreveu:
Olá preciso gerar um arquivo de saída ascii que contenha as informações de lat e lon para este campo meteorológico. Já consegui gerar o arquivo ascii, porém ele fica sem as informações de lat (-60S,10N) e lon(-120W,10E) abaixo o script.
library(maps)
library(ncdf4)
dados <- nc_open('teste.nc')
lat <- ncvar_get( dados, 'lat' )
lon <- ncvar_get( dados, 'lon' )
time <- ncvar_get( dados, 'time' )
# lendo dados coluna total de Ozônio
ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3
dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#==========================================================================================================
# longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa
for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
plotando mapa da America do Sul
map(xlim=c(-90,-30), ylim=c(-60,10))
map.axes() # plotando eixos
title( main="Campo médio de Ozônio " ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU)
intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
#PARA PLOTAR GRAFICO CONTORNOS EM PRETO E BRANCO
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3 )
teste=data.frame(media_ColumnAmountO3)
write.table(teste,file="teste.txt",row.names=TRUE,sep="",quote=FALSE)
____________________________________________________________________________
MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154 ____________________________________________ ________________________________
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160221/02cfb14c/attac...
------------------------------
Subject: Legenda do Digest
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
------------------------------
Fim da Digest R-br, volume 62, assunto 26 *****************************************

Olá Mateus, Acho estranho esse erro que você recebeu. Essa definição de margins do levelplot é exatamente para controlar a presença (ou não) das barras laterais que você mencionou. As barras na verdade são os histogramas longitudinal (o que fica no topo do gráfico) e latitudinal (o que fica ao lado direito) dos dados plotados na figura. Pode ser util em algumas situações, mas na prática eu sempre os omito (margins=F). Tenho quase certeza que o erro não está relacionado a isso. Você usa o RStudio ou o R na linha de comando? Está tudo atualizado, tanto o R, quanto o RStudio e os pacotes? Você usou o mesmo código que eu mandei ou chegou a mudar alguma coisa (por exemplo, o arquivo netcdf)? Esse erro acontece se você plotar só o mapa de ozônio, tirando a parte do shapefile? Se possível, poste aqui todo o código que você está rodando para receber essa mensagem de erro. Greetings, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota On Monday, February 22, 2016 1:41 PM, Mateus Dias Nunes <nunes.mateusdias@gmail.com> wrote: Olá, Obtive ótimos resultados com as sujestões. Desculpem a demora para passar o feedback das minhas dúvidas. O único problema que tive que ainda não solucionei foi com relação ao atributo "margin": levelplot(r1, margin=F, contour=T) ele me retorna a este erro: Error in do.call("constructMargin", margin) : second argument must be a list ai eu substituo por "margin=T" e ele apresenta a figura com essas bordas https://www.dropbox.com/s/l8q3sttsqg3iu2s/ozone.pdf?dl=0 o que eu acredito que faz com que a barra de cores fique na horizontal(não que seja problema a orientação da barra). ASCii quanto a geração do arquivo de saida do tipo ascii eu consegui realizar com êxito. Muito obrigado pelas sujestões Thiago V. dos Santos e Éder Comunello ____________________________________________________________________________ MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154 ____________________________________________________________________________ Em 21 de fevereiro de 2016 12:00, <r-br-request@listas.c3sl.ufpr.br> escreveu: Enviar submissões para a lista de discussão R-br para
r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: Cores em mapas (salah) 2. Re: Cores em mapas (Éder Comunello) 3. Re: Cores em mapas (Thiago V. dos Santos) 4. Gerar arquivo de saída ascii (Mateus Dias Nunes) 5. Re: Gerar arquivo de saída ascii (Éder Comunello)
----------------------------------------------------------------------
Message: 1 Date: Sat, 20 Feb 2016 16:46:44 -0200 From: salah <salah3.1416@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Cores em mapas Message-ID: <56C8B494.2040303@gmail.com> Content-Type: text/plain; charset="utf-8"; Format="flowed"
Olá Mateus
segue sugestão:
## paleta de cores cor1 = heat.colors(15) cor2 = terrain.colors(15) cor3 = topo.colors(15, alpha = .5) cor4 = palette(rainbow(9)) library(RColorBrewer) cor5 = brewer.pal(7, "BrBG")
contour( sort(lon), lat, levels = intervalos, nlevels = 15, media_ColumnAmountO3[ order(lon), ], add = T, lwd = 2, col = cor1, labcex = 1.3)
## usando o pacote raster library(raster) oz = raster('teste.nc') xlim = c(-100, -10) ylim = c(-60, 10) plot(oz, xlim = xlim, ylim = ylim) map(xlim = xlim, ylim = ylim, add = TRUE, col = "black") title(main = "Campo médio de Ozônio Novembros" ) contour(oz, add = TRUE, xlim = xlim, ylim = ylim)
saudações
Em 19/02/2016 17:18, Mateus Dias Nunes escreveu:
Olá eu gostaria de colocar cores (com a barra de cores ao lado da figura) no meu mapa ao invés de usar os contornos com a função "contour"; abaixo o link da figura que consegui gerar através dessa função.
https://www.dropbox.com/s/xi622mbpqg7tgch/campo_medio_O3.png?dl=0
abaixo o script que gerou o grafico com os contornos.
# Carregando biblioteca para manipular arquivos netCDF
library(maps) library(ncdf4) #==========================================================================
#BIBLIOTECA "ncdf4". # PARA ESTE EXEMPLO SÃO USADOS RECURSOS PARA ABRIR A BIBLIOTECA ) #POIS RNetCDF, ncdf e ncdf4 APRESENTAM COMANDOS DIFERENTES PARA ABRIRMOS AS VARIÁVEIS
dados <- nc_open('teste.nc <http://teste.nc>') # lendo coordenadas espaço-temporal lat <- ncvar_get( dados, 'lat' ) lon <- ncvar_get( dados, 'lon' ) time <- ncvar_get( dados, 'time' )
#=======================================================================================================
# lendo dados coluna total de Ozônio ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3 dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3) dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#========================================================================================================== # longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
# criando arquivo PNG que receberá o campo com o mapa
#png( filename="campo_medio_O3_jan2005.png",width=600,height=800 )
# plotando mapa da America do Sul map( xlim=c(-100,-10), ylim=c(-60,10) ) map.axes() # plotando eixos title( main="Campo médio de ozonio janeiros" ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU) intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
# adicionando campo de coluna de ozonio
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3, col="black" )
# fechando arquivo PNG #dev.off()
obrigado ____________________________________________________________________________
MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154 ____________________________________________________________________________
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/2a7a5001/attachment-0001.html>
------------------------------
Message: 2 Date: Sat, 20 Feb 2016 18:15:55 -0300 From: Éder Comunello <comunello.eder@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Cores em mapas Message-ID: <CABmC8gmAVX1Hsd7xViw+Lk6_aJqAruPTNhZzYqZJmOzAC9JeUg@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Senhores, boa tarde!
Outra opção:
intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 ) map( xlim=c(-100,-10), ylim=c(-60,10)) -> tmp filled.contour(sort(lon), lat, media_ColumnAmountO3[order(lon),], levels=intervalos, lwd=2, col=terrain.colors(14), xlim=c(-100,-10), ylim=c(-60,10), plot.axes={axis(1); axis(2); lines(tmp)}) title( main="Campo médio de ozonio janeiros" ) # título do gráfico
================================================ Éder Comunello Agronomist (UEM), MSc in Environ. Sciences (UEM) DSc in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/03a857a9/attachment-0001.html> -------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: Rplot_tmp.png Tipo: image/png Tamanho: 7776 bytes Descrição: não disponível URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160220/03a857a9/attachment-0001.png>
------------------------------
Message: 3 Date: Sat, 20 Feb 2016 21:33:53 +0000 (UTC) From: "Thiago V. dos Santos" <thi_veloso@yahoo.com.br> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Cores em mapas Message-ID: <978737470.349160.1456004033164.JavaMail.yahoo@mail.yahoo.com> Content-Type: text/plain; charset=UTF-8
Acho que você procura a função filled.contour, ao invés de contour. Experimente:
filled.contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ]) map( xlim=c(-100,-10), ylim=c(-60,10), add=T)
Ou então eu deixo aqui algumas sugestões usando o levelplot (vai precisar baixar o shapefile da AS em anexo):
---------------------- library(raster) library(rasterVis)
# Abre Arquivo r <- brick("~/Downloads/teste.nc")
# Tira média dos dois mapas r1 <- calc(r, fun=mean)
# Uma das vantagens de usar raster/rasterVis: depois de duas linhas de código, já estamos plotando os dados levelplot(r1, margin=F, contour=T)
# Descompacta e abre contorno da América do Sul para adicionar ao plot #(precisa baixar arquivo em anexo ou do link http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip)
unzip("~/Downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip") mapaSHP <- shapefile('TM_WORLD_BORDERS_SIMPL-0.3.shp')
# Plota com contorno da America do Sul levelplot(r1, margin=F, contour=T, main="Campo médio de Ozônio Novembros") + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
# Quer mudar a cor? Basta mudar as configurações de 'par.settings' levelplot(r1, margin=F, contour=T, main="Campo médio de Ozônio Novembros", par.settings=RdBuTheme) + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
# Também é possível criar a sua própria paleta de cores, usando o pacote Rcolorbrewer # Veja aconselhamento para cores de mapa aqui: http://colorbrewer2.org/ # Vou criar uma escala sequencial, com 5 tons de azul # Você pode ver todas as paletas disponíveis no pacote digitando display.brewer.all() my.Theme=rasterTheme(region=brewer.pal('Blues', n=5))
# Aqui eu personalizo a escala usando os valores do raster e um numero maior de quebras intervalos <- seq(trunc(min(values(r1))), trunc(max(values(r1))), length.out=length(my.Theme$regions$col)-1)
# Plota p <- levelplot(r1, margin=F, contour=T, par.settings=my.Theme, at=intervalos, main="Campo médio de Ozônio Novembros") p + layer(sp.lines(mapaSHP, lwd=0.7, col='black'))
# Para salvar, eu recomendo copiar a imagem direto do display para um arquivo pdf dev.copy2pdf(file="~/Desktop/ozone.pdf", width = 11, height = 8.5)
# Depois fica fácil convertê-la para png em altíssima resolução (600dpi) usando o ImageMagick (que precisa estar instalado): # Assim a sua imagem está de acordo com as normas de publicação das principais revistas científicas system("convert -density 600 ~/Desktop/ozone.pdf ~/Desktop/ozone.png")
Veja o resultado final: https://dl.dropboxusercontent.com/u/27700634/ozone.png
Greetings, -- Thiago V. dos Santos
PhD student Land and Atmospheric Science University of Minnesota
On Friday, February 19, 2016 1:18 PM, Mateus Dias Nunes <nunes.mateusdias@gmail.com> wrote:
Olá eu gostaria de colocar cores (com a barra de cores ao lado da figura) no meu mapa ao invés de usar os contornos com a função "contour"; abaixo o link da figura que consegui gerar através dessa função.
https://www.dropbox.com/s/xi622mbpqg7tgch/campo_medio_O3.png?dl=0
abaixo o script que gerou o grafico com os contornos.
# Carregando biblioteca para manipular arquivos netCDF
library(maps) library(ncdf4)
#==========================================================================
#BIBLIOTECA "ncdf4". # PARA ESTE EXEMPLO SÃO USADOS RECURSOS PARA ABRIR A BIBLIOTECA ) #POIS RNetCDF, ncdf e ncdf4 APRESENTAM COMANDOS DIFERENTES PARA ABRIRMOS AS VARIÁVEIS
dados <- nc_open('teste.nc') # lendo coordenadas espaço-temporal lat <- ncvar_get( dados, 'lat' ) lon <- ncvar_get( dados, 'lon' ) time <- ncvar_get( dados, 'time' )
#=======================================================================================================
# lendo dados coluna total de Ozônio ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3 dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3) dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#========================================================================================================== # longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
# criando arquivo PNG que receberá o campo com o mapa
#png( filename="campo_medio_O3_jan2005.png",width=600,height=800 )
# plotando mapa da America do Sul map( xlim=c(-100,-10), ylim=c(-60,10) ) map.axes() # plotando eixos title( main="Campo médio de ozonio janeiros" ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU) intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
# adicionando campo de coluna de ozonio
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3, col="black" )
# fechando arquivo PNG #dev.off()
obrigado ____________________________________________________________________________ MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL
TELEFONE: +55 (53) 81125154 ____________________________________________________________________________ _______________________________________________ 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� c�igo m�imo reproduz�el.
------------------------------
Message: 4 Date: Sun, 21 Feb 2016 00:44:03 -0300 From: Mateus Dias Nunes <nunes.mateusdias@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: [R-br] Gerar arquivo de saída ascii Message-ID: <CAHw9po8NFWiPiO5h78Jf8g_o7XL+uioeWJ47USTUGk_n1wFpFA@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Olá preciso gerar um arquivo de saída ascii que contenha as informações de lat e lon para este campo meteorológico. Já consegui gerar o arquivo ascii, porém ele fica sem as informações de lat (-60S,10N) e lon(-120W,10E) abaixo o script.
library(maps)
library(ncdf4)
dados <- nc_open('teste.nc')
lat <- ncvar_get( dados, 'lat' )
lon <- ncvar_get( dados, 'lon' )
time <- ncvar_get( dados, 'time' )
# lendo dados coluna total de Ozônio
ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3
dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#==========================================================================================================
# longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa
for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
plotando mapa da America do Sul
map(xlim=c(-90,-30), ylim=c(-60,10))
map.axes() # plotando eixos
title( main="Campo médio de Ozônio " ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU)
intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
#PARA PLOTAR GRAFICO CONTORNOS EM PRETO E BRANCO
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3 )
teste=data.frame(media_ColumnAmountO3)
write.table(teste,file="teste.txt",row.names=TRUE,sep="",quote=FALSE) ____________________________________________________________________________
MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154 ____________________________________________________________________________ -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160221/3dedadde/attachment-0001.html>
------------------------------
Message: 5 Date: Sun, 21 Feb 2016 09:23:10 -0400 From: Éder Comunello <comunello.eder@gmail.com> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Gerar arquivo de saída ascii Message-ID: <CABmC8gmiCj-Y78SJvzpcpMi3vyOYKpmFbRJDUsNWLVNtESEA+Q@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Mateus, bom dia!
Sugiro que você forneça o feedback acerca das sugestões que recebe na lista. Assim, podemos saber qual solução funcionou e o material fica útil pra referência futura. Dentro das suas possibilidades, avalie a possibilidade de postar o script final com a solução que você produziu.
Segue uma ideia pra produzir um arquivo ascii (x, y, z):
### <code r> ### acrescente no seu script!
map( xlim=c(-100,-10), ylim=c(-60,10)) map.axes() contour(lon, lat, media_ColumnAmountO3, add=T, levels=intervalos, lwd=2, labcex=1.3, col=heat.colors(14) )
# Transpose + flip pra matriz corresponder ao que você vê plotado na tela com contour(), filled.countour() tmp <- (t(media_ColumnAmountO3)[ncol(media_ColumnAmountO3):1,])
# Verificando... tmp[1:3, 1:4] # UL tmp[1:3, 127:130] # UR tmp[68:70, 1:4] # LL tmp[68:70, 127:130] # LR as.vector(tmp[1:3, 1:4]) ### by columns - upper left
grid <- expand.grid(x=lon, y=lat) head(grid[order(grid$x, rev(grid$y)),]) # by columns
teste <- cbind(grid[order(grid$x, rev(grid$y)),], z=as.vector(tmp)) head(teste, 3) # x y z # 8971 -119.5 9.5 245.2939 # 8841 -119.5 8.5 244.0713 # 8711 -119.5 7.5 242.9422
tail(teste, 3) # x y z # 390 9.5 -57.5 296.8890 # 260 9.5 -58.5 297.0280 # 130 9.5 -59.5 296.6809
write.table(teste,file="teste.txt",row.names=TRUE, sep="", quote=FALSE) ### </code>
================================================ Éder Comunello Agronomist (UEM), MSc in Environ. Sciences (UEM) DSc in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00
Em 20 de fevereiro de 2016 23:44, Mateus Dias Nunes < nunes.mateusdias@gmail.com> escreveu:
Olá preciso gerar um arquivo de saída ascii que contenha as informações de lat e lon para este campo meteorológico. Já consegui gerar o arquivo ascii, porém ele fica sem as informações de lat (-60S,10N) e lon(-120W,10E) abaixo o script.
library(maps)
library(ncdf4)
dados <- nc_open('teste.nc')
lat <- ncvar_get( dados, 'lat' )
lon <- ncvar_get( dados, 'lon' )
time <- ncvar_get( dados, 'time' )
# lendo dados coluna total de Ozônio
ColumnAmountO3 <- ncvar_get( dados, 'ColumnAmountO3' )
# dimensoes da variavel ColumnAmountO3
dims_ColumnAmountO3 <- dim(ColumnAmountO3)
# tornando o arranjo 3D (ColumnAmountO3) em um 2D, organizado em ptos de grade X tempo
dim(ColumnAmountO3) <- c( dims_ColumnAmountO3[1]*dims_ColumnAmountO3[2], dims_ColumnAmountO3[3] )
# calculando a média e retornado-a em 2D
media_ColumnAmountO3 <- rowMeans( ColumnAmountO3)
dim(media_ColumnAmountO3) <- c( dims_ColumnAmountO3[1], dims_ColumnAmountO3[2] )
#==========================================================================================================
# longitude varia de 0 a 360, convertendo para -180 a 180, essa conversão é feita para plotagem sobre o mapa
for (i in 1:dim(lon)) { if (lon[i]>180) { lon[i] <- lon[i]-360 } }
plotando mapa da America do Sul
map(xlim=c(-90,-30), ylim=c(-60,10))
map.axes() # plotando eixos
title( main="Campo médio de Ozônio " ) # título do gráfico
# definindo intervalo de 5 Dobson Units (DU)
intervalos = seq( trunc(min(ColumnAmountO3)), trunc(max(ColumnAmountO3)), 5 )
#PARA PLOTAR GRAFICO CONTORNOS EM PRETO E BRANCO
contour( sort(lon), lat, media_ColumnAmountO3[ order(lon), ], add=T, levels=intervalos, lwd=2, labcex=1.3 )
teste=data.frame(media_ColumnAmountO3)
write.table(teste,file="teste.txt",row.names=TRUE,sep="",quote=FALSE)
____________________________________________________________________________
MATEUS DIAS NUNES MESTRANDO DO PROGRAMA DE PÓS-GRADUAÇÃO EM METEOROLOGIA - PPGMET UNIVERSIDADE FEDERAL DE PELOTAS - UFPEL TELEFONE: +55 (53) 81125154 ____________________________________________ ________________________________
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160221/02cfb14c/attachment-0001.html>
------------------------------
Subject: Legenda do Digest
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
------------------------------
Fim da Digest R-br, volume 62, assunto 26 *****************************************
_______________________________________________ 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� c�igo m�imo reproduz�el.
participantes (2)
-
Mateus Dias Nunes
-
Thiago V. dos Santos