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 06:43]
rafael.melhem [Ajustando o Gráfico]
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 113: Linha 113:
 <WRAP center round tip 60%> <WRAP center round tip 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.+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.
  
 </​WRAP>​ </​WRAP>​
Linha 141: 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 153: 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 197: 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 206: 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 227: 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 271: 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 278: 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 288: 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 331: 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 387: 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 395: 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 408: Linha 412:
 ==== Um exemplo ==== ==== Um exemplo ====
  
-{{youtube>​ObHgPlVADRw}}+{{ youtube>​ObHgPlVADRw }}
  
 </​WRAP>​ </​WRAP>​
Linha 419: Linha 423:
 par(mfrow = c(1, 2)) par(mfrow = c(1, 2))
 plot(riq ~ ha, data = frags) plot(riq ~ ha, data = frags)
-boxplot(riq ~ con, data = frags)+boxplot(riq ~ con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
Linha 425: Linha 429:
 <WRAP center round box 90%> <WRAP center round box 90%>
  
-{{:​02_tutoriais:​tutorial5:​grafrag03.png?800|}}+{{ :​02_tutoriais:​tutorial5:​grafrag03.png | }}
  
 </​WRAP>​ </​WRAP>​
Linha 444: 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(riq ~ con, data = frags)+boxplot(riq ~ con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
Linha 466: 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 476: 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 símbolos: Agora vamos inserir uma legenda para as cores e símbolos:
Linha 485: 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 508: 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 521: 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 547: 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 614: 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 640: 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.1603788196.txt.gz · Última modificação: 2020/10/27 06:43 por rafael.melhem