Ferramentas do usuário

Ferramentas do site


02_tutoriais:tutorial5:start

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
02_tutoriais:tutorial5:start [2020/10/27 05:25]
rafael.melhem [Criando Gráficos]
02_tutoriais:tutorial5:start [2023/08/26 11:20] (atual)
Linha 2: Linha 2:
   * [[02_tutoriais:​tutorial5:​start|Tutorial]]   * [[02_tutoriais:​tutorial5:​start|Tutorial]]
   * [[01_curso_atual:​exercicios5| Exercícios]]   * [[01_curso_atual:​exercicios5| Exercícios]]
-  * [[03_apostila:​05a-graficos| Apostila]] ​ +  * [[03_apostila:​05a-graficos| Apostila]] ​
 </​WRAP>​ </​WRAP>​
 ====== 5a. Criação e Edição de Gráficos no R====== ====== 5a. Criação e Edição de Gráficos no R======
Linha 10: Linha 10:
 ===== Refletindo sobre a representação dos dados ===== ===== Refletindo sobre a representação dos dados =====
  
-{{youtube>​Wy4S0_mvHno}}+{{ youtube>​Wy4S0_mvHno }}
  
 </​WRAP>​ </​WRAP>​
Linha 19: Linha 19:
 ===== Gráficos na Tela ===== ===== Gráficos na Tela =====
  
-Existem vários dispositivos gráficos no R que estão relacionados a dois grupos principais: os dispositivos de tela e os de arquivos. Nos dispositivos base do ''​grDevices''​ temos os dispositivos de tela ''​windows'',​ ''​X11''​ e ''​quartz''​ que produzem janelas gráficas ​nos sistemas operacionais Windows, Linux MacOS, respectivamentePara abrir um dispositivo de tela temos as funções:+Existem vários dispositivos gráficos no R que estão relacionados a dois grupos principais: os dispositivos de tela e os de arquivos. Nos dispositivos base do ''​grDevices''​ temos os dispositivos de tela ''​windows'',​ ''​X11''​ e ''​quartz''​ que produzem janelas gráficas, funções que dependem um pouco dos sistemas operacionais ​que estão sendo usados (i.e. Windows, Linux ou MacOS)Assim, para abrir um dispositivo de tela temos as funções:
  
 <code rsplus> <code rsplus>
Linha 28: Linha 28:
 </​code>​ </​code>​
  
-O ''​X11''​ ou ''​x11''​ é uma função mais geral e deve funcionar em outros ​sistemas operacionais. Os outros ​ são mais específicos e deve retornar uma mensagem de erro quando usada em outros sistemas operacionais. Para informações sobre o ''​quartz''​ no macOSX veja a documentação oficial [[https://​cran.r-project.org/​bin/​macosx/​RMacOSX-FAQ.html#​Quartz-device|aqui]].+O ''​X11''​ ou ''​x11''​ é uma função mais geral e funciona na maioria dos sistemas operacionais. Os outros são mais específicos e deve retornar uma mensagem de erro quando usada em outros sistemas operacionais. Para informações sobre o ''​quartz''​ no macOSX veja a documentação oficial [[https://​cran.r-project.org/​bin/​macosx/​RMacOSX-FAQ.html#​Quartz-device|aqui]].
  
  
Linha 36: Linha 36:
 **__O sistema do pacote__** <wrap hi>​graphics</​wrap> ​ **__O sistema do pacote__** <wrap hi>​graphics</​wrap> ​
  
-{{youtube>​pQYhAc6KtG4}}+{{ youtube>​pQYhAc6KtG4 }}
 </​WRAP>​ </​WRAP>​
  
Linha 42: Linha 42:
 ===== Funções de Alto Nível ===== ===== Funções de Alto Nível =====
  
-As funções gráficas de alto nível são aquelas que iniciam um dispositivo gráfico de tela e arranjam os elementos essenciais do gráfico no dispositivo. A principal função ​de alto nível ​é ''​plot'',​ mas já usamos outras no tutorial anterior, como o ''​hist'',​ ''​boxplot''​ e ''​barplot''​. ​+As funções gráficas de alto nível são aquelas que iniciam um dispositivo gráfico de tela e arranjam os elementos essenciais do gráfico no dispositivo. A principal função é ''​plot'',​ mas já usamos outras no tutorial anterior, como o ''​hist'',​ ''​boxplot''​ e ''​barplot''​. ​
    
 /* /*
-=====  Orientações Gerais=====+===== Orientações Gerais =====
  
-Aqui são apenas dados os códigos e funções, para você executar e entender como funcionam. Para entender as funções, leia antes o capítulo correspondente na [[03_apostila:​05a-graficos|apostila]]. ​ Experimente também mudar mais argumentos e funções além das apresentadas nos exercícios. ​+Aqui são apenas dados os códigos e funções, para você executar e entender como funcionam. Para entender as funções, leia antes o capítulo correspondente na [[03_apostila:​05a-graficos|apostila]]. Experimente também mudar mais argumentos e funções além das apresentadas nos exercícios. ​
 */ */
 <WRAP center round box 100%> <WRAP center round box 100%>
Linha 56: Linha 56:
  
   * ''​riqueza'':​ variável resposta, número de espécies de aves   * ''​riqueza'':​ variável resposta, número de espécies de aves
-  * ''​capturas'':​ número de indivíduos capturados com o mesmo esforço amostral ​ +  * ''​capturas'':​ número de indivíduos capturados com o mesmo esforço amostral ​
   * ''​area'':​ variável preditora relacionada à área do fragmento florestal em hectares   * ''​area'':​ variável preditora relacionada à área do fragmento florestal em hectares
   * ''​conectada'':​ variável preditora relacionada ao grau de conectividade do fragmento florestal   * ''​conectada'':​ variável preditora relacionada ao grau de conectividade do fragmento florestal
Linha 63: Linha 63:
 <code rsplus> <code rsplus>
 riqueza <- c(15, 18, 22, 24, 25, 30, 31, 34, 37, 39, 41, 45) riqueza <- c(15, 18, 22, 24, 25, 30, 31, 34, 37, 39, 41, 45)
-capturas <- c(33,  62,  75, 100, 150, 155, 167, 170, 171, 177, 178, 179)+capturas <- c(33, 62, 75, 100, 150, 155, 167, 170, 171, 177, 178, 179)
 area <- c(2, 4.5, 6, 10, 30, 34, 50, 56, 60, 77.5, 80, 85) area <- c(2, 4.5, 6, 10, 30, 34, 50, 56, 60, 77.5, 80, 85)
 conectada <- factor(c("​L",​ "​M",​ "​M",​ "​L",​ "​L",​ "​H",​ "​L",​ "​H",​ "​M",​ "​M",​ "​H",​ "​H"​),​ levels = c("​L",​ "​M",​ "​H"​)) conectada <- factor(c("​L",​ "​M",​ "​M",​ "​L",​ "​L",​ "​H",​ "​L",​ "​H",​ "​M",​ "​M",​ "​H",​ "​H"​),​ levels = c("​L",​ "​M",​ "​H"​))
Linha 69: Linha 69:
 </​code>​ </​code>​
  
-Podemos usar esses vetores diretamente para fazer os gráficos. ​Entrentanto, não é o que usualmente acontece. Quando fazemos a leitura de dados externos, os vetores das variáveis, normalmente,​ estão em um ''​dataframe''​. Vamos criá-lo para tornar o exemplo ainda mais próximo da realidade:+Podemos usar esses vetores diretamente para fazer os gráficos. ​Entretanto, não é o que usualmente acontece. Quando fazemos a leitura de dados externos, os vetores das variáveis, normalmente,​ estão em um ''​dataframe''​. Vamos criá-lo para tornar o exemplo ainda mais próximo da realidade:
  
 <code rsplus> <code rsplus>
Linha 85: Linha 85:
 No pacote ''​graphics''​ há duas maneiras de se especificar as variáveis em gráficos, como vimos anteriormente também no [[http://​ecor.ib.usp.br/​doku.php?​id=02_tutoriais:​tutorial4:​start#​graficos_bivariados|tutorial de análise exploratória de dados]]: No pacote ''​graphics''​ há duas maneiras de se especificar as variáveis em gráficos, como vimos anteriormente também no [[http://​ecor.ib.usp.br/​doku.php?​id=02_tutoriais:​tutorial4:​start#​graficos_bivariados|tutorial de análise exploratória de dados]]:
  
-  * Nome ou posição dos argumentos: ​ ''​fungraph(x = a , y = b)''​+  * Nome ou posição dos argumentos: ''​fungraph(x = a , y = b)''​
  
   * Fórmula estatística:​ ''​fungraph(b ~ a, data = dados)''​   * Fórmula estatística:​ ''​fungraph(b ~ a, data = dados)''​
Linha 93: Linha 93:
 <code rsplus> <code rsplus>
 plot(x = area, y = riqueza) plot(x = area, y = riqueza)
-boxplot(riqueza ~ conectada) 
-plot(riq ~ ha, data = frags) ​ 
 </​code>​ </​code>​
  
-<WRAP center round tip 60%>+<WRAP center round box 50%>
  
-Note que a primeira e segunda linhas de código acima utilizaram os objetos de vetores (''​area'',​ ''​riqueza''​ e ''​conectada''​),​ enquanto a última utiliza as variáveis que estavam no objeto ''​frags'',​ usando os nomes das colunas deste objeto. Vamos usar esse último formato a partir de agora.+{{:​02_tutoriais:​tutorial5:​grafrag01.png?400|}}
  
 </​WRAP>​ </​WRAP>​
  
 +<code rsplus>
 +boxplot(riq ~ con, data = frags) ​
 +</​code>​
  
 +<WRAP center round box 50%>
  
-<WRAP center round box 90%> +{{:​02_tutoriais:​tutorial5:​grafrag02.png?400|}}
- +
-{{:​02_tutoriais:​tutorial5:​graf01.png?700|}}+
  
 </​WRAP>​ </​WRAP>​
  
-===== Editando Gráficos =====+<WRAP center round tip 60%>
  
-<WRAP center round box 60%>+Note que a primeira linha de código acima utilizou os objetos de vetores (''​area''​ e ''​riqueza''​),​ enquanto a segunda utiliza as variáveis que estavam no objeto ''​frags'',​ usando os nomes das colunas deste objeto. Além disso, a segunda linha de código utiliza a fórmula estatística,​ com o símbolo ''​~''​. Vamos usar esse último formato a partir de agora.
  
-==== Um exemplo ​====+</​WRAP>​ 
 +===== Editando Gráficos =====
  
-{{youtube>​ObHgPlVADRw}} 
  
-</​WRAP>​ 
  
  
Linha 142: Linha 141:
 </​code>​ </​code>​
  
-O ''​par''​ é uma das funções mais utilizadas, ao lado de ''​plot''​ para a produção gráficos. Não tenho receio em afirmar que é a função que eu, pessoalmente (--- //​[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2020/09/15 18:04//), mais consultei a documentação durante minha trajetória no R!+O ''​par''​ é uma das funções mais utilizadas, ao lado de ''​plot''​ para a produção ​de gráficos. Não tenho receio em afirmar que é a função que eu, pessoalmente (--- //​[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2020/09/15 18:04//), mais consultei a documentação durante minha trajetória no R!
  
-Vamos abrir a documentação e fazer a leitura para nos familiarmos ​com tudo que está disponível para modificação no dispositivo gráfico. Ao final, irá entender porque tive que consultar o ''​par''​ **"um par de vezes!"​**+Vamos abrir a documentação e fazer a leitura para nos familiarizarmos ​com tudo que está disponível para modificação no dispositivo gráfico. Ao final, irá entender porque tive que consultar o ''​par''​ **"um par de vezes!"​**
  
 <code rsplus> <code rsplus>
Linha 154: Linha 153:
 <code rsplus> <code rsplus>
 par( ) par( )
 +par( )$pch
 +par( )$cex
 </​code>​ </​code>​
  
  
-Note que o ''​pch''​ e o ''​cex''​permanecem com os valores que foram modificados. ​+Note que o ''​pch''​ e o ''​cex''​ permanecem com os valores que foram modificados. ​
 Neste caso, para voltar ao padrão é necessário retornar o parâmetro para o valor inicial ou fechar o dispositivo,​ e abrir um novo.  ​ Neste caso, para voltar ao padrão é necessário retornar o parâmetro para o valor inicial ou fechar o dispositivo,​ e abrir um novo.  ​
  
Linha 198: Linha 199:
 </​code>​ </​code>​
  
-No código acima o ''​cex''​ no ''​par''​ utiliza o fator de incremento para todos os elementos do gráfico, enquanto que localmente o mesmo parâmetro no ''​plot''​ usa esse fator apenas para incrementar os símbolos associados às observações. Note também que abrimos uma nova janela com a função ''​x11''​((caso esteja usando um Mac, pode ter problemas para abrir a janela, nesse caso use ''​quartz()''​)) para compararmos os dois gráficos. Por padrão o R sempre sobrescreve o gráfico na janela ativa e torna ativa a janela recém aberta. ​+No código acima o ''​cex''​ no ''​par''​ utiliza o fator de incremento para todos os elementos do gráfico, enquanto que localmente o mesmo parâmetro no ''​plot''​ usa esse fator apenas para incrementar os símbolos associados às observações. Note também que abrimos uma nova janela com a função ''​x11''​((caso esteja usando um Mac, pode ter problemas para abrir a janela, nesse caso use ''​quartz()''​)) para compararmos os dois gráficos. Por padrãoo R sempre sobrescreve o gráfico na janela ativa e torna ativa a janela recém aberta. ​
  
  
Linha 207: Linha 208:
  
 <WRAP center round box 90%> <WRAP center round box 90%>
-**__CoRes__**+**__coRes__**
  
-O R tem vários ​metodos ​para atribuição de cores. Os mais comuns são valores inteiros e o nome, veja alguns exemplos:+O R tem vários ​métodos ​para atribuição de cores. Os mais comuns são valores inteiros e o nome, veja alguns exemplos:
  
 {{:​02_tutoriais:​tutorial5:​coloRs.png?​900|}} {{:​02_tutoriais:​tutorial5:​coloRs.png?​900|}}
 +
 +Use o comando ''​colors()''​ para ver todos os nomes de cores.
  
 </​WRAP>​ </​WRAP>​
Linha 228: Linha 231:
  
 /* /*
-=====Gráficos ​Multiplos ​e Margens=====+=====Gráficos ​Múltiplos ​e Margens=====
  
 O parâmetro ''​mfrow''​ permite que o dispositivo gráfico seja repartido em painéis que recebem diferentes gráficos. Esse é um exemplo de parâmetro que só pode ser modificado pela função ''​par()''​. Por exemplo, para colocar dois gráficos em um mesmo dispositivo de tela, usamos: O parâmetro ''​mfrow''​ permite que o dispositivo gráfico seja repartido em painéis que recebem diferentes gráficos. Esse é um exemplo de parâmetro que só pode ser modificado pela função ''​par()''​. Por exemplo, para colocar dois gráficos em um mesmo dispositivo de tela, usamos:
Linha 272: Linha 275:
 =====Inserindo mais Informações em Gráficos===== =====Inserindo mais Informações em Gráficos=====
  
-Uma outra lógica dos gráficos no R é que os elementos grafados não são apagados, mas podemos inserir novos elementos que serão sobrepostos aos que já existem. ​ Para inserirmos elementos utilizamos as funções subordinadas às funções de alto nível que só operam se houver um dispositivo ativo e com um gráfico iniciado.+Uma outra lógica dos gráficos no R é que os elementos grafados não são apagados, mas podemos inserir novos elementos que serão sobrepostos aos que já existem. Para inserirmos elementos utilizamos as funções subordinadas às funções de alto nível que só operam se houver um dispositivo ativo e com um gráfico iniciado.
  
 A seguir apresentamos alguns exemplos de funções para se inserir informações em gráficos. A seguir apresentamos alguns exemplos de funções para se inserir informações em gráficos.
Linha 279: Linha 282:
 ==== lines() ==== ==== lines() ====
  
-Função para inserir linhas retas ou curvas não-paramétricas utilizando alguma estimativa como ''​lowess'',​ ''​loess''​ e  ''​gam''​.+Função para inserir linhas retas ou curvas não-paramétricas utilizando alguma estimativa como ''​lowess'',​ ''​loess''​ e ''​gam''​.
 <code rsplus> <code rsplus>
 plot(cap ~ ha , data = frags) plot(cap ~ ha , data = frags)
Linha 289: Linha 292:
  
 <code rsplus> <code rsplus>
-##Duracao em minutos ​ das erupções do Faithful Geiser, Yellowstone+##Duracao em minutos das erupções do Faithful Geiser, Yellowstone
 ## Objeto faithful do pacote datasets ## Objeto faithful do pacote datasets
  
Linha 332: Linha 335:
 <code resplus> <code resplus>
 plot(riq ~ ha, data = frags, pch = 19, col = 1:​nrow(frags)) plot(riq ~ ha, data = frags, pch = 19, col = 1:​nrow(frags))
-points(riq ~ ha, data = frags, cex = 2.5)+points(riq ~ ha, data = frags, cex = 1.8)
 </​code>​ </​code>​
  
 ==== text() ==== ==== text() ====
  
-Função utilizada para inserir caracteres dentro do gráfico. O texto pode ser letra, símbolos, ​palavra ​ou até mesmo uma frase. Lembre-se sempre que essas funções, em geral, são vetorizadas e podem inserir vários elementos de uma única vez, por exemplo, identificando cada observação:​+Função utilizada para inserir caracteres dentro do gráfico. O texto pode ser letras, símbolos, ​palavras ​ou até mesmo uma frase. Lembre-se sempre que essas funções, em geral, são vetorizadas e podem inserir vários elementos de uma única vez, por exemplo, identificando cada observação:​
  
 <code rsplus> <code rsplus>
-text(x = 63, y = 31, labels = "<- olha esse dados!"​) +text(x = 70, y = 31, labels = "<- olha esse dados!"​) 
-text(x = frags$ha, y = frags$riq + 1, labels = LETTERS[1: nrow(frags)] )+text(x = frags$ha, y = frags$riq + 1.1, labels = LETTERS[1: nrow(frags)], cex = 0.7)
 </​code>​ </​code>​
  
Linha 388: Linha 391:
 <code rsplus> <code rsplus>
  
-rect(xleft = 25, ybottom = 22, xright = 41,  ytop = 32, col = rgb(red = 1,green= 0, blue = 0, alpha = 0.1)) +rect(xleft = 25, ybottom = 22, xright = 41, ytop = 32, col = rgb(red = 1,green= 0, blue = 0, alpha = 0.1)) 
  
 </​code>​ </​code>​
Linha 396: Linha 399:
 __**coRes**__ __**coRes**__
  
-Um outro método para indicar cores no R é o [[https://​pt.wikipedia.org/​wiki/​RGB|RGB]],​ o sistema de combinação de vermelho, verde e azul. Uma das vantagem desse sistema, além de possibilitar uma infinidade de cores e tonalidades, ​ é que ele permite a inclusão da transparência da cor através do argumento ''​alpha''​ da função ''​rgb''​.  ​+Um outro método para indicar cores no R é o [[https://​pt.wikipedia.org/​wiki/​RGB|RGB]],​ o sistema de combinação de vermelho, verde e azul. Uma das vantagem desse sistema, além de possibilitar uma infinidade de cores e tonalidades,​ é que ele permite a inclusão da transparência da cor através do argumento ''​alpha''​ da função ''​rgb''​.  ​
  
 {{  :​02_tutoriais:​tutorial5:​rgb-color-model.jpg?​400 ​ |}} {{  :​02_tutoriais:​tutorial5:​rgb-color-model.jpg?​400 ​ |}}
Linha 405: Linha 408:
 ===== Ajustando o Gráfico ===== ===== Ajustando o Gráfico =====
  
-Agora que conhecemos os principios ​da construção de gráficos utilizando o ''​graphics'',​ vamos ajustar nosso gráfico base, primeiro fechando todos os dispositivos ​aberto ​e iniciando um novo com tamanho determinado e em seguida fazendo os gráficos base lado a lado:+<WRAP center round box 60%> 
 + 
 +==== Um exemplo ==== 
 + 
 +{{ youtube>​ObHgPlVADRw }} 
 + 
 +</​WRAP>​ 
 + 
 +Agora que conhecemos os princípios ​da construção de gráficos utilizando o ''​graphics'',​ vamos ajustar nosso gráfico base, primeiro fechando todos os dispositivos ​abertos ​e iniciando um novo com tamanho determinado e em seguida fazendo os gráficos base lado a lado:
  
 <code rsplus> <code rsplus>
 graphics.off() graphics.off()
-X11(width = 7, height = 14+X11(width = 14, height = 7
-par(mfrow = c(2, 1))+par(mfrow = c(1, 2))
 plot(riq ~ ha, data = frags) plot(riq ~ ha, data = frags)
-boxplot(riqueza ​conectada)+boxplot(riq con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
-<WRAP center round box 70%> + 
-{{  :​02_tutoriais:​tutorial5:​graf01.png?​600  ​|}}+<WRAP center round box 90%> 
 + 
 +{{ :​02_tutoriais:​tutorial5:​grafrag03.png | }} 
 </​WRAP>​ </​WRAP>​
  
Linha 422: Linha 436:
 Vamos seguir ajustando os elementos dos gráficos. Primeiro, ajustando alguns parâmetros globais com o ''​par'':​ Vamos seguir ajustando os elementos dos gráficos. Primeiro, ajustando alguns parâmetros globais com o ''​par'':​
  
-^ argumento ^ elemento ^ valor padrão ^ representaçãoo ​+^ argumento ^ elemento ^ valor padrão ^ representação ​
-| ''​mar''​ |  tamanho das margens | ''​c(5,​ 4, 4, 2)''​| numero de linhas ((a ordem dos lados de um gráfico sempre ​obdece ​o sentido horário partindo do eixo x))|+| ''​mar''​ |  tamanho das margens | ''​c(5,​ 4, 4, 2)''​| numero de linhas ((a ordem dos lados de um gráfico sempre ​obedece ​o sentido horário partindo do eixo x))|
 | ''​las''​ | legenda dos eixos |  ''​0'' ​ | paralela ao eixo | | ''​las''​ | legenda dos eixos |  ''​0'' ​ | paralela ao eixo |
 | ''​mgp''​ | elementos dos eixos | ''​c(3,​ 1, 0)''​| distância em linhas ((entre o título, legenda e linha do eixo))| ​ | ''​mgp''​ | elementos dos eixos | ''​c(3,​ 1, 0)''​| distância em linhas ((entre o título, legenda e linha do eixo))| ​
-| ''​family''​| ​familia ​de fonte |  ''​ ""​ '' ​ | fonte padrão do dispositivo|+| ''​family''​| ​família ​de fonte |  ''​ ""​ '' ​ | fonte padrão do dispositivo|
  
  
Linha 434: Linha 448:
 par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 ) par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )
 plot(riq ~ ha, data = frags) plot(riq ~ ha, data = frags)
-boxplot(riqueza ​conectada)+boxplot(riq con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
Linha 456: Linha 470:
                   pch = c(15, 16, 17)[frags$con], ​                   pch = c(15, 16, 17)[frags$con], ​
                   col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con])                   col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con])
-boxplot(riqueza ​conectada)+boxplot(riq con, data = frags)
 </​code> ​ </​code> ​
  
Linha 466: Linha 480:
 </​code>​ </​code>​
  
-Como ''​factor''​ é armazenado na forma de números inteiros relativos ​ordem dos níveis, podemos muito facilmente substituir os valores dos níveis, mantendo a ordem que aparecem nos dados, simplesmente indexando os novos valores pelo fator.+Como ''​factor''​ é armazenado na forma de números inteiros relativos ​à ordem dos níveis, podemos muito facilmente substituir os valores dos níveis, mantendo a ordem que aparecem nos dados, simplesmente indexando os novos valores pelo fator.
  
-Agora vamos inserir uma legenda para as cores e simbolos:+Agora vamos inserir uma legenda para as cores e símbolos:
  
  
Linha 475: Linha 489:
 X11(width = 14, height = 7) X11(width = 14, height = 7)
 par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif", ​ par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif", ​
-                  ​las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )+    ​las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )
 plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5,  plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, 
-                  ​cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45),  +     cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45),  
-                  pch = c(15, 16, 17)[frags$con],​  +     ​pch = c(15, 16, 17)[frags$con],​  
-                  col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con]) +     ​col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con]) 
-legend(x = 60, y = 20, legend = c("pouco", "medio", "muito"), title = "​Conectividade",​  +legend(x = 60, y = 20, legend = c("baixa", "média", "alta"), title = "​Conectividade",​  
-      col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)+       ​col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)
  
-boxplot(riqueza ​conectada)+boxplot(riq con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
-<WRAP center round box 70%> +<WRAP center round box 90%> 
-{{  :​02_tutoriais:​tutorial5:​graf02.png?​600  ​|}}+{{ :​02_tutoriais:​tutorial5:​grafrag04.png |}}
 </​WRAP>​ </​WRAP>​
  
-O procedimento normalmente é esse. Vai se ajustando os parâmetros e avaliando o resultado até conseguir o resultado almejado. Satisfeito com o primeiro painel, podemos passar para o segundo. Da mesma forma que o primeiro painel, os parâmetros gráficos globais que não podem ser modificados localmente, devem ser modificados antes de executar a função de alto nível.+ 
 +O procedimento normalmente é esse. Vamos ajustando os parâmetros e avaliando o resultado até conseguir o resultado almejado. Satisfeito com o primeiro painel, podemos passar para o segundo. Da mesma forma que o primeiro painel, os parâmetros gráficos globais que não podem ser modificados localmente, devem ser modificados antes de executar a função de alto nível.
  
  
Linha 498: Linha 513:
 par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 ) par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )
 plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con]) plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con])
-legend(x = 60, y = 20, legend = c("pouco", "medio", "muito"), title = "​Conectividade",​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)+legend(x = 60, y = 20, legend = c("baixa", "média", "alta"), title = "​Conectividade",​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)
 par(bty = "​n",​ mar = c(4, 1, 1,1)) par(bty = "​n",​ mar = c(4, 1, 1,1))
-boxplot(riqueza ​conectada, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​)+boxplot(riq con, data = frags, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​)
 </​code> ​ </​code> ​
  
Linha 511: Linha 526:
 par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 ) par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )
 plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con]) plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con])
-legend(x = 60, y = 20, legend = c("pouco", "medio", "muito"), title = "​Conectividade",​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)+legend(x = 60, y = 20, legend = c("baixa", "média", "alta"), title = "​Conectividade",​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)
 par(bty = "​n",​ mar = c(4, 1, 1,1)) par(bty = "​n",​ mar = c(4, 1, 1,1))
-boxplot(riqueza ​conectada, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​) +boxplot(riq con, data = frags, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​) 
-mtext(text = c("pouco", "medio", "muito"), side = 1, line = 0.5,  at = c(1, 2, 3),  cex = 1.5)+mtext(text = c("baixa", "média", "alta"), side = 1, line = 0.5, at = c(1, 2, 3), cex = 1.5)
 mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7) mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7)
 </​code> ​ </​code> ​
  
-<WRAP center round box 70%> +<WRAP center round box 90%> 
-{{  :​02_tutoriais:​tutorial5:​graficoFrags.png?​600  ​|}}+ 
 +{{ :​02_tutoriais:​tutorial5:​grafrag05.png | }} 
 + 
 </​WRAP>​ </​WRAP>​
  
Linha 537: Linha 554:
 <code rsplus> <code rsplus>
 graphics.off() graphics.off()
-jpeg(filename = "​graficoFrags.jpg",​ width = 960, height = 480, units = "​px",​ pointsize = 12, quality = 100,  bg = "​white", ​ res = NA)+jpeg(filename = "​graficoFrags.jpg",​ width = 960, height = 480, units = "​px",​ pointsize = 12, quality = 100, bg = "​white",​ res = NA)
 par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 ) par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )
 plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con]) plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con])
-legend(x = 60, y = 20, legend = c("pouco", "medio", "muito"), title = "​Conectividade",​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)+legend(x = 60, y = 20, legend = c("baixa", "média", "alta"), title = "​Conectividade",​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)
 par(bty = "​n",​ mar = c(4, 1, 1,1)) par(bty = "​n",​ mar = c(4, 1, 1,1))
-boxplot(riqueza ​conectada, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​) +boxplot(riq con, data = frags, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​) 
-mtext(text = c("pouco", "medio", "muito"), side = 1, line = 0.5,  at = c(1, 2, 3),  cex = 1.5)+mtext(text = c("baixa", "média", "alta"), side = 1, line = 0.5, at = c(1, 2, 3), cex = 1.5)
 mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7) mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7)
 dev.off() dev.off()
Linha 604: Linha 621:
 </​code>​ </​code>​
  
-Mas apenas ​umestá ​ativo, isto é, recebe a saída dos comandos gráficos. Descubra qual é com+Mas apenas ​um está ativo, isto é, recebe a saída dos comandos gráficos. Descubra qual é com
 <code rsplus> <code rsplus>
 dev.cur() dev.cur()
Linha 630: Linha 647:
 Além disso, o tutorial [[02_tutoriais:​tutorial5b:​start|]] apresenta um técnica poderosa para a construção de gráficos não usuais.  ​ Além disso, o tutorial [[02_tutoriais:​tutorial5b:​start|]] apresenta um técnica poderosa para a construção de gráficos não usuais.  ​
  
-/* Nesse wiki focamos no uso das ferramentas básicas do R e nesse tutorial no pacote ''​graphics''​ carregado por padrão na sessão do R. O pacote para elaboração de gráficos chamado ''​ggplot2''​ vem se tornando muito popular nos últimos anos, mas apresenta uma sintaxe muito diferente da usual no R o que nos parece não ser muito efetivo para o aprendizado da linguagem. Por essa razão, preferimos deixá-lo de fora do nosso material. ​+/* Nesse wiki focamos no uso das ferramentas básicas do R e nesse tutorial no pacote ''​graphics''​ carregado por padrão na sessão do R. O pacote para elaboração de gráficos chamado ''​ggplot2''​ vem se tornando muito popular nos últimos anos, mas apresenta uma sintaxe muito diferente da usual no Ro que nos parece não ser muito efetivo para o aprendizado da linguagem. Por essa razão, preferimos deixá-lo de fora do nosso material. ​
  
 Existem muitos bons tutoriais sobre o ''​ggplot2'',​ inclusive um ótimo feito pelo colaborador da disciplina Gustavo Burin Ferreira, caso tenha interesse acesse: Existem muitos bons tutoriais sobre o ''​ggplot2'',​ inclusive um ótimo feito pelo colaborador da disciplina Gustavo Burin Ferreira, caso tenha interesse acesse:
02_tutoriais/tutorial5/start.1603783556.txt.gz · Última modificação: 2020/10/27 05:25 por rafael.melhem