Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| — | 02_tutoriais:tutorial5b:start [2025/09/23 19:34] (atual) – criada - edição externa 127.0.0.1 | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| + | <WRAP tabs> | ||
| + | * [[02_tutoriais: | ||
| + | * [[01_curso_atual: | ||
| + | * [[03_apostila: | ||
| + | </ | ||
| + | ====== 5b. Gráficos II: um procedimento ====== | ||
| + | <WRAP center round box 60%> | ||
| + | {{ youtube> | ||
| + | </ | ||
| + | |||
| + | Nesse tutorial apresentamos um procedimento para a construção de gráficos no R, incluindo cada elemento separadamente. O objetivo é mostrar como é possível editar e incluir elementos gráficos da forma que desejar, o que permite a construção de gráficos muito complexos. Utilizaremos o gráfico publicado por uma de nossas primeiras alunas para exemplificar o procedimento adotado para produzir gráficos no R. | ||
| + | |||
| + | |||
| + | O procedimento tem início com um esboço do gráfico. Nesse caso, fizemos um esboço no guardanapo de papel em um boteco. Essa é a parte mais complicada, imaginar algo que represente os nossos dados de forma sintética, de fácil leitura, esteticamente agradável e adequado à revista em que será publicado. | ||
| + | |||
| + | |||
| + | |||
| + | <WRAP center round box 60%> | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Para simplificar nosso procedimento neste tutorial, vamos produzir apenas uma variação de um dos painéis. Ou seja, queremos algo como: | ||
| + | |||
| + | <WRAP center round box 60%> | ||
| + | {{ : | ||
| + | </ | ||
| + | |||
| + | |||
| + | Apesar de ser um gráfico simples, apresenta algumas complicações inerentes ao tipo de gráfico que não é padrão. | ||
| + | |||
| + | ===== Abrindo o dispositivo ===== | ||
| + | |||
| + | Quando o dispositivo de tela é aberto pelas funções de alto nível, os parâmetros que serão abertos são aqueles definidos pelo valores que estão no '' | ||
| + | |||
| + | O tamanho padrão do dispositivo de tela é 7 polegadas de altura e de largura. Para controlar essas dimensões abrimos o dispositivo de tela com os argumentos '' | ||
| + | |||
| + | |||
| + | <code rsplus> | ||
| + | X11(width = 10, height = 10) | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Quando submeter os exercícios no notaR, **não abra o dispositivo gráfico**! Deixe as funções de alto nível abrirem o dispositivo com o tamanho padrão. | ||
| + | </ | ||
| + | |||
| + | ===== Criando o layout ===== | ||
| + | |||
| + | Como os elementos da legenda do eixo à direita são complexos, vamos tratá-los como um painel à parte. No [[02_tutoriais: | ||
| + | | ||
| + | <code rsplus> | ||
| + | layout(matrix(c(1, | ||
| + | layout.show(2) # mostra o layout dos dois paineis | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Iniciando o gráfico ===== | ||
| + | |||
| + | A primeira coisa a fazer depois de definir o layout do gráfico é ajustar os parâmetros gráficos globais do primeiro painel. Em seguida, construímos o espaço de coordenadas sem nenhum elemento utilizando uma função de alto nível, como o '' | ||
| + | |||
| + | <code rsplus> | ||
| + | |||
| + | par (mar = c(5, 1, 4, 5)) | ||
| + | plot(x = NULL, y = NULL, xlim = c(-1.5, 2.5), ylim = c(0.5, 7.5), type = " | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Linhas guias e eixo ==== | ||
| + | |||
| + | Em seguida, continuamos inserindo elementos. Abaixo utilizamos a função '' | ||
| + | |||
| + | <code rsplus> | ||
| + | abline (v = 0, lty = 2) | ||
| + | abline (h = c(3,6)) | ||
| + | axis(side = 4, at = c(1, | ||
| + | </ | ||
| + | |||
| + | Utilizamos no código acima a função '' | ||
| + | ==== Inserindo os dados ==== | ||
| + | |||
| + | A lógica desse método é incluir cada elemento separadamente para ter controle total na elaboração do gráfico. Abaixo inserimos os resultados para os adultos: | ||
| + | |||
| + | <code rsplus> | ||
| + | # ADULT | ||
| + | points(x = -0.577, y = 1, pch = 19) # pch: tipo de simbolo | ||
| + | points(x = -1.2, y = 1, pch = " | ||
| + | points(x = 0.05, y = 1, pch = " | ||
| + | segments(x0 = -1.2, y0 = 1, x1 = 0.05, y1 = 1) # um segmento | ||
| + | </ | ||
| + | |||
| + | Agora os resultados para os outros grupos: | ||
| + | |||
| + | <code rsplus> | ||
| + | #YOUNG | ||
| + | points(x = 0.87, y = 2, pch = 19) | ||
| + | points(x = -0.05, y = 2, pch = " | ||
| + | points(x = 1.1, y = 2, pch = " | ||
| + | segments(x = 1.1, y0 = 2, x1 = -0.05, y1 = 2) | ||
| + | #TEMPERATE | ||
| + | points(x = 0.01, y = 4, pch = 19) | ||
| + | points(x = -0.07, y = 4, pch = " | ||
| + | points(x = 0.5, y = 4, pch = " | ||
| + | segments(x = -0.07, y0 = 4, x1 = 0.5, y1 = 4) | ||
| + | #TROPICAL | ||
| + | points(x = 1.06, y = 5, pch = 19) | ||
| + | points(x = 0.946, y = 5, pch = " | ||
| + | points(x = 2.073, y = 5, pch = " | ||
| + | segments(x = 2.073, y0 = 5, x1 = 0.946, y1 = 5) | ||
| + | #OVERALL | ||
| + | points(x = 0.457, y = 7, pch = 19) | ||
| + | points(x = 0.025, y = 7, pch = " | ||
| + | points(x = 0.847, y = 7, pch = " | ||
| + | segments(x = 0.025, y0 = 7, x1 = 0.847, y1 = 7) | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Segundo painel ===== | ||
| + | |||
| + | Esse painel foi criado para acrescentar a legenda da direita com suas particularidades. As margens do gráfico não permitem edições complexas. Caso o gráfico tenha elementos nas margens, uma solução é tratar a margem como um painel. Como fizemos no painel anterior, primeiro ajustamos os parâmetros globais e, em seguida, criamos um espaço de coordenadas cartesianas para posicionar os elementos em um espaço vazio. | ||
| + | |||
| + | |||
| + | <code rsplus> | ||
| + | |||
| + | par (mar=c(5, | ||
| + | plot(x=NULL, | ||
| + | </ | ||
| + | |||
| + | Em seguida, acrescentamos os elementos e legendas de eixos. Entretanto, diferente do que fizemos no painel anterior, incluindo cada elemento isoladamente, | ||
| + | |||
| + | |||
| + | <code rsplus> | ||
| + | points(x=rep(c(0.5), | ||
| + | segments(x0=c(0.5, | ||
| + | axis(side=4, | ||
| + | axis(side=4, | ||
| + | </ | ||
| + | |||
| + | ===== Salvando o gráfico ===== | ||
| + | |||
| + | Para salvar o gráfico em um arquivo, pode-se utilizar a seguinte função. <code rsplus> | ||
| + | |||
| + | <code rsplus> | ||
| + | savePlot(" | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | /* | ||
| + | |||
| + | <WRAP center round box 80%> | ||
| + | **__Figura Final__** | ||
| + | |||
| + | A revista onde foi publicada a figura solicitou o formato '' | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | </ | ||
| + | |||
| + | */ | ||
| + | |||
| + | |||
| + | ===== Gráfico diâmetro e volume de eucaliptos ===== | ||
| + | |||
| + | |||
| + | |||
| + | Agora vamos reproduzir o código apresentado em aula que cria o gráfico com os dados de // | ||
| + | |||
| + | <WRAP center round box 95%> | ||
| + | |||
| + | {{ : | ||
| + | {{ : | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Siga as instruções para chegar ao gráfico como na figura acima: | ||
| + | |||
| + | |||
| + | - Leia o arquivo {{: | ||
| + | - Garanta que as variáveis foram lidas corretamente e crie o objeto '' | ||
| + | - Crie um objeto chamado '' | ||
| + | - Abra um dispositivo de janela com largura de 10 e altura de 8 polegadas. **Essa linha de comando precisa ficar comentada antes de submeter ao notaR, ele não aceita abertura de dispositivos de tela. Mas, é importante manter o tamanho para comparar com a figura enquanto produz o gráfico**. Não modifique o tamanho da janela ao longo do processo, assim as proporções não se alteram. | ||
| + | - Mude os parâmetros globais do dispositivo gráfico para ter: aumento de 20% nos símbolos desenhados no gráfico e sem a borda que define a área gráfica. | ||
| + | - Crie uma estrutura de layout que tenha 4 painéis da seguinte forma: '' | ||
| + | * proporções de altura '' | ||
| + | * proporções de largura | ||
| + | - Comece colocando a legenda de localidades no painel superior que tem 13% de altura e toda a largura da figura. Modifique o parâmetro global do painel para que fique sem margens '' | ||
| + | - Nessa primeiro painel inicie o gráfico com a função '' | ||
| + | - Coloque os nomes das localidades em ordem alfabética nas posições em x '' | ||
| + | - Coloque os símbolos de círculo, preenchido pela cor correspondente de cada localidade, usando a função '' | ||
| + | - Crie o objeto '' | ||
| + | - Ajuste as margens do segundo painel para '' | ||
| + | - Inicie a área gráfica com a função '' | ||
| + | - Utilize as variáveis '' | ||
| + | - Ajuste as margens do painel da figura principal para '' | ||
| + | - Inicie a área gráfica com a função '' | ||
| + | - Insira os eixos com as respectivas escalas nos eixos '' | ||
| + | - Coloque a legenda do eixo '' | ||
| + | - Insira os pontos referentes ao gráfico com as cores respectivas para cada região, use '' | ||
| + | - Ajuste as margens do painel final contendo o gráfico de caixas para '' | ||
| + | - Faça o '' | ||
| + | - Insira o eixo '' | ||
| + | - Insira a legenda do eixo '' | ||
| + | |||
| + | |||
| + | |||
| + | ===== Atividades: ===== | ||
| + | |||
| + | |||
| + | <WRAP center round todo 80%> | ||
| + | | | ||
| + | 1. Poste o código e a figura do gráfico // | ||
| + | |||
| + | |||
| + | 2. A continuação do nosso tutorial está no exercício do notar [[http:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | 3. Em seguida o desafio é fazer o [[http:// | ||
| + | {{ : | ||
| + | |||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | 4. Nesse wiki focamos no uso das ferramentas básicas do R e nesse tutorial no pacote '' | ||
| + | |||
| + | Existem muitos bons tutoriais sobre o '' | ||
| + | | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | </ | ||
| + | |||
| + | </ | ||