Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
03_apostila:05a-graficos [2023/08/22 16:32] 127.0.0.1 edição externa |
03_apostila:05a-graficos [2023/08/22 18:04] (atual) |
||
---|---|---|---|
Linha 74: | Linha 74: | ||
Aqui começa a parte mais complicada. Não porque é difícil mudar a forma como os gráficos são feitos, mas porque para chegar num resultado final adequado requer um processo iterativo. Em outras palavras, se o objetivo é mudar o tamanho da fonte, será necessário testar vários tamanhos até se atingir o "tamanho ideal" para incluir no manuscrito e/ou tese. | Aqui começa a parte mais complicada. Não porque é difícil mudar a forma como os gráficos são feitos, mas porque para chegar num resultado final adequado requer um processo iterativo. Em outras palavras, se o objetivo é mudar o tamanho da fonte, será necessário testar vários tamanhos até se atingir o "tamanho ideal" para incluir no manuscrito e/ou tese. | ||
- | Existem duas maneiras de se mudar parâmetros no gráfico; uma é por dentro do gráfico, ou seja, dentro da função ''plot, boxplot'', ou ''barplot'', e a outra é pela função ''par()''. Alguns argumentos só podem ser chamados **exclusivamente** por uma destas maneiras. Por exemplo ''ylab'' e ''xlab'' modificam o nome (label) dos eixos e só podem ser chamadas por dentro do gráfico, já outras funções só podem ser chamadas pelo ''par()'', como por exemplo, ''mar'' que controla o tamanho das margens do gráfico e ''mfrow'' que controla quantos gráficos serão mostrados no mesmo dispositivo. | + | Existem duas maneiras de se mudar parâmetros no gráfico; uma é por dentro do gráfico, ou seja, dentro da função ''plot'', ''boxplot'', ou ''barplot'', e a outra é pela função ''par()''. Alguns argumentos só podem ser chamados **exclusivamente** por uma destas maneiras. Por exemplo ''ylab'' e ''xlab'' modificam o nome (label) dos eixos e só podem ser chamadas por dentro do gráfico, já outras funções só podem ser chamadas pelo ''par()'', como por exemplo, ''mar'' que controla o tamanho das margens do gráfico e ''mfrow'' que controla quantos gráficos serão mostrados no mesmo dispositivo. |
Para que as alterações controladas pelo ''par()'' possam surtir efeito, elas sempre devem vir antes do gráfico. Se um novo dispositivo gráfico não for aberto, todas as funções já controladas pelo ''par()'' continuarão valendo, mesmo que o gráfico mude. | Para que as alterações controladas pelo ''par()'' possam surtir efeito, elas sempre devem vir antes do gráfico. Se um novo dispositivo gráfico não for aberto, todas as funções já controladas pelo ''par()'' continuarão valendo, mesmo que o gráfico mude. | ||
Linha 204: | Linha 204: | ||
=====Diferenças Entre Tipos De Gráfico===== | =====Diferenças Entre Tipos De Gráfico===== | ||
- | Infelizmente, a forma como se muda argumentos do ''plot(), boxplot()'' e ''barplot()'' não é sempre a mesma, ou seja, comandos que funcionam perfeitamente para o ''plot()'' podem não produzir efeito algum no ''boxplot()'', e vice-versa. | + | Infelizmente, a forma como se muda argumentos do ''plot()'', ''boxplot()'' e ''barplot()'' não é sempre a mesma, ou seja, comandos que funcionam perfeitamente para o ''plot()'' podem não produzir efeito algum no ''boxplot()'', e vice-versa. |
- | Esta característica, de fato, atrapalha um pouco, mas assim que se acostuma fica mais fácil. Há duas dicas para resolver este problema: (i) tente sempre jogar os argumentos para o ''par()'' pois às vezes eles podem não funcionar se chamadas por dentro do ''plot(), boxplot()'', etc, mas irão funcionar pelo ''par()''; (ii) descubra o nome em inglês do parâmetro que se quer mudar (''label, tick, legend'') e jogue no Google "legend boxplot". Com certeza, alguém já teve este mesmo problema, e entrando dentro da lista do R (as diversas que existem) ou em aulas disponibilizadas na internet, com certeza se acha uma solução. | + | Esta característica, de fato, atrapalha um pouco, mas assim que se acostuma fica mais fácil. Há duas dicas para resolver este problema: (i) tente sempre jogar os argumentos para o ''par()'' pois às vezes eles podem não funcionar se chamadas por dentro do ''plot()'', ''boxplot()'', etc, mas irão funcionar pelo ''par()''; (ii) descubra o nome em inglês do parâmetro que se quer mudar (''label'', ''tick'', ''legend'') e jogue no Google "legend boxplot". Com certeza, alguém já teve este mesmo problema, e entrando dentro da lista do R (as diversas que existem) ou em aulas disponibilizadas na internet, com certeza se acha uma solução. |
<box center red 80%| **Exercício 3 – Mudando diferentes Gráficos** > | <box center red 80%| **Exercício 3 – Mudando diferentes Gráficos** > | ||
Linha 212: | Linha 212: | ||
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) | ||
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) | ||
- | area.cate <- rep(c(“pequeno”, “grande”), each=6) | + | area.cate <- rep(c("pequeno", "grande"), each=6) |
Crie: | Crie: | ||
Linha 224: | Linha 224: | ||
Agora tente: | Agora tente: | ||
- | boxplot(riqueza~area.cate, bty=”l”, tcl=0.3) | + | boxplot(riqueza~area.cate, bty="l", tcl=0.3) |
O que aconteceu? | O que aconteceu? | ||
Linha 230: | Linha 230: | ||
E agora? | E agora? | ||
- | par(bty=”l”) | + | par(bty="l") |
par(tcl=0.3) | par(tcl=0.3) | ||
boxplot(riqueza~area.cate) | boxplot(riqueza~area.cate) | ||
Linha 240: | Linha 240: | ||
=====Inserindo mais Informações em Gráficos===== | =====Inserindo mais Informações em Gráficos===== | ||
- | Existem diversas informações que podemos incluir em um gráfico. Pode-se colocar uma letra para mostrar que este é o painel “a” e ao lado é o painel ”b”; pode-se colocar asteriscos para mostrar quais relações são significativas; pode-se desenhar flechas, outros pontos, uma infinidade de coisas. Tudo isto pode ser feito, mas requer funções comandos separados daqueles já passados pelo par() e plot(), boxplot() ou barplot(). | + | Existem diversas informações que podemos incluir em um gráfico. Pode-se colocar uma letra para mostrar que este é o painel “a” e ao lado é o painel ”b”; pode-se colocar asteriscos para mostrar quais relações são significativas; pode-se desenhar flechas, outros pontos, uma infinidade de coisas. Tudo isto pode ser feito, mas requer funções comandos separados daqueles já passados pelo ''par()'', ''plot()'', ''boxplot()'' ou ''barplot()''. |
Dentre as várias funções existentes para se inserir informações em gráficos, existem sete que são bastante úteis. Use: | Dentre as várias funções existentes para se inserir informações em gráficos, existem sete que são bastante úteis. Use: | ||
Linha 255: | Linha 255: | ||
</box> | </box> | ||
== lines() == | == lines() == | ||
- | Para inserir linhas retas ou curvas não-paramétricas (como ''lowess'', ''loess'', | + | Para inserir linhas retas ou curvas não-paramétricas (como ''lowess'', ''loess'', ''gam'', etc). |
- | ''gam'', etc). | + | |
<code rsplus> | <code rsplus> | ||
plot(riqueza~area) | plot(riqueza~area) | ||
Linha 268: | Linha 267: | ||
Para isso é primeiro necessário criar o modelo, para depois criar a linha. | Para isso é primeiro necessário criar o modelo, para depois criar a linha. | ||
<code rsplus> | <code rsplus> | ||
- | model <- lm(riqueza~area) | + | model <- lm(riqueza~area) |
plot(riqueza~area) | plot(riqueza~area) | ||
abline(model) | abline(model) | ||
Linha 326: | Linha 325: | ||
<code rsplus> | <code rsplus> | ||
plot(riqueza~area) | plot(riqueza~area) | ||
- | par(new=TRUE) | + | par(new = TRUE) |
plot(abundancia~area) | plot(abundancia~area) | ||
</code> | </code> | ||
Linha 366: | Linha 365: | ||
{{:03_apostila:plot19.jpeg|}} | {{:03_apostila:plot19.jpeg|}} | ||
+ | |||
+ | Você também pode usar ''arrows()'' para, por exemplo, dar destaque a uma observação no seu gráfico: | ||
+ | <code rsplus> | ||
+ | arrows(80, 31, 55, 31) | ||
+ | </code> | ||
=====Salvando Gráficos===== | =====Salvando Gráficos===== | ||
Linha 371: | Linha 375: | ||
Após ter feitos todos os gráficos desejados, é possível salvá-los em vários formatos, como [[http://en.wikipedia.org/wiki/JPEG|jpeg]], [[http://en.wikipedia.org/wiki/Portable_Network_Graphics|png]], [[http://en.wikipedia.org/wiki/PostScript|postscript]], [[http://en.wikipedia.org/wiki/Portable_Document_Format|pdf]]. Consulte a ajuda do pacote [[http://finzi.psych.upenn.edu/R/library/grDevices/html/00Index.html|grDevices]] para a lista completa e mais informações. | Após ter feitos todos os gráficos desejados, é possível salvá-los em vários formatos, como [[http://en.wikipedia.org/wiki/JPEG|jpeg]], [[http://en.wikipedia.org/wiki/Portable_Network_Graphics|png]], [[http://en.wikipedia.org/wiki/PostScript|postscript]], [[http://en.wikipedia.org/wiki/Portable_Document_Format|pdf]]. Consulte a ajuda do pacote [[http://finzi.psych.upenn.edu/R/library/grDevices/html/00Index.html|grDevices]] para a lista completa e mais informações. | ||
- | Após chegar ao gráfico final, ajustando todos os parâmetros desejados, você pode usar a função do R para criar o arquivo no formato desejado. Há funções para cada formato de arquivo, todas elas com o primeiro argumento ''filename'', que especifica o nome do arquivo a salvar. Para criar um arquivo //jpg//, por exemplo, há a função ''jpeg'': | + | Após ajustar todos os parâmetros desejados, você pode usar funções do R para salvar a imagem como um arquivo no formato desejado. Há funções para cada formato de arquivo, todas elas com o primeiro argumento ''filename'', que especifica o nome do arquivo a ser salvo. Para criar um arquivo //jpg//, por exemplo, há a função ''jpeg'': |
<code rsplus> | <code rsplus> | ||
jpeg(filename = "Algumnome.jpg") | jpeg(filename = "Algumnome.jpg") | ||
</code> | </code> | ||
- | Feito isso, o R agora irá enviar todos os resultados de comandos gráficos para este arquivo, que é fechado com a função ''dev.off()''. | + | Feito isso, o R agora irá enviar todos os resultados de comandos gráficos para este arquivo no diretório de trabalho, que é fechado com a função ''dev.off()''. |
**Exemplo** | **Exemplo** | ||
Linha 503: | Linha 507: | ||
- | Para saber mais como salvar gráficos em jpeg use a função ‘’?jpeg’’. | + | Para saber mais como salvar gráficos em //jpeg// use o comando ''?jpeg''. |