\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[english]{babel}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage{listings}
\usepackage{graphicx}
\graphicspath{{media/}}
\date{\today}
\title{}
\author{}
\begin{document}


\begin{itemize}
  \item Tutorial
  \item Tutorial II
  \item  Exercícios
  \item  Apostila  
\end{itemize}


\section{\texorpdfstring{Procedimento para a construção de gráficos no R}{Procedimento para a construao de graficos no R}}
\label{sec:procedimento_para_a_construao_de_graficos_no_r}


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. Utilizaremos para isso a modificação de um gráfico publicado por uma de nossas primeiras alunas \footnote{Camila Castanho}.

\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/02_tutoriais/tutorial5b/metagraf}

 Gráfico publicado em  \href{https://peerj.com/articles/768/}{Castanho et. al. 2015. A meta-analysis of plant facilitation in coastal dune systems: responses, regions, and research gaps. PeerJ}

Para simplificar, vamos fazer apenas um dos painéis acima.

\subsection{\texorpdfstring{Criando o layout}{Criando o layout}}
\label{sec:criando_o_layout}


A função layout cria paineis de diferentes tamanhos no dispositivo gráfico. No nosso caso vamos criar duas colunas, a direita com 80\%  da largura total. O primeiro argumento da função é uma matriz com o sequência com que os painéis irão ser desenhados\lstset{frame=single}
\begin{lstlisting}

layout(matrix(c(1,2),ncol=2, nrow=1), width=c(8,2))
layout.show(2) # mostra o layout dos dois paineis


\end{lstlisting}



\subsection{\texorpdfstring{Iniciando o primeiro painel}{Iniciando o primeiro painel}}
\label{sec:iniciando_o_primeiro_painel}


Primeiro ajustamos o parâmetros gráficos do primeiro painel (no caso a margem), em seguida construímos o espaço de coordenadas sem nenhum elemento, apenas algumas legendas;\lstset{frame=single}
\begin{lstlisting}

par (mar=c(5,4,4,3.5))#controla tamanhos das margens
plot(x=NULL,y=NULL, xlim=c(-1.5,2.5), ylim=c(0.5,7.5),type="n", yaxt="n", xlab="Effect Size (lnOR)", ylab="", main="SURVIVAL")

\end{lstlisting}



\subsubsection{\texorpdfstring{Linhas guias e eixo}{Linhas guias e eixo}}
\label{sec:linhas_guias_e_eixo}
\lstset{frame=single}
\begin{lstlisting}


abline (v=0, lty=2) ## desenha linhas de regressão (a+bx) ou v=vertical, h=horizontal
abline (h=c(3,6))
axis(side=4, at=c(1,2,4,5,7), labels=c("adult (2)", "young (28)", "temperate (28)", "tropical (2)", "overall (30)"),las=2 ) # desenha o eixo

\end{lstlisting}



\subsubsection{\texorpdfstring{Inserindo os dados}{Inserindo os dados}}
\label{sec:inserindo_os_dados}
\lstset{frame=single}
\begin{lstlisting}

#ADULT

points (x=-0.577,y=1, pch=19) # pch: tipo de simbolo
points (x=-1.2,y=1, pch="|", cex=1.2)
points (x= 0.05,y=1, pch="|", cex=1.2)
segments(x0=-1.2, y0=1, x1= 0.05, y1=1) # um segmento

#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)

\end{lstlisting}



\subsection{\texorpdfstring{Segundo painel}{Segundo painel}}
\label{sec:segundo_painel}


Criamos esse painel apenas para acrescentar legenda\lstset{frame=single}
\begin{lstlisting}


par (mar=c(5,4,4,2.9))#controla tamanhos das margens
plot(x=NULL,y=NULL, xlim=c(0,2), ylim=c(0.5,7.5),type="n", xaxt="n", yaxt="n",xlab="", ylab="", bty="n") # bty: tipo de caixa no limite do gráfico; xaxt: tipo de eixo x 
points(x=0.5, y=0.4, pch="-")
points (x=0.5, y=2.6, pch="-")
segments(x0=0.5, y0=0.4, x1=0.5, y1=2.6)
axis(side=4, at=1.5, labels= "Target life stage", lwd.ticks=0)
points(x=0.5, y=3.4, pch="-")
points (x=0.5, y=5.6, pch="-")
segments(x0=0.5, y0=3.4, x1=0.5, y1=5.6)
axis(side=4, at=4.5, labels= "Geographic region", lwd.ticks=0)

\end{lstlisting}



.

\subsection{\texorpdfstring{Salvando o gráfico}{Salvando o grafico}}
\label{sec:salvando_o_grafico}


Para salvar o gráfico em um arquivo, pode-se utilizar a função savePlot. Para ter mais controle da qualidade gráfica é necessário usar um dispositivo de arquivo (funções \texttt{tiff}, \texttt{jpeg}, \texttt{png}, por exemplo).\lstset{frame=single}
\begin{lstlisting}

savePlot("metaGraf.png", type= "png")


\end{lstlisting}



Elementos de mesmo tipo podem ser inseridos conjuntamente sem a necessidade de utilizar um comando para cada elemento. Para isso é preciso construir vetores com os valores concatenados nas posições corretas. 
Veja abaixo um código simplificado do gráfico.

\subsection{\texorpdfstring{Código simplificado}{Codigo simplificado}}
\label{sec:codigo_simplificado}
\lstset{frame=single}
\begin{lstlisting}

layout (matrix(c(1,2),ncol=2, nrow=1), width=c(8,2))
par (mar=c(5,4,4,3.5))#controla tamanhos das margens
plot(x=NULL,y=NULL, xlim=c(-1.5,2.5), ylim=c(0.5,7.5),type="n", yaxt="n", xlab="Effect Size (lnOR)", ylab="", main="SURVIVAL")
abline (v=0, lty=2) ## desenha linhas de regressão (a+bx) ou v=vertical, h=horizontal
abline (h=c(3,6))
axis(side=4, at=c(1,2,4,5,7), labels=c("adult (2)", "young (28)", "temperate (28)", "tropical (2)", "overall (30)"),las=2 ) # desenha o eixo
points (x=c(-0.577, 0.87, 0.01, 1.06,0.457), y=c(1,2, 4, 5, 7), pch=19 ) #medias
points (x=c(-1.2, 0.05, 0.05, 1.1, -0.07, 0.5, .946,2.073, 0.025,0.847), y=rep(c(1,2, 4, 5, 7),each=2), pch= "|" )# limites do IC 95% (pch= tipo de simbolo)
segments(x=c(-1.2,  0.05, -0.07, .946, 0.025), y0=c(1,2, 4, 5, 7), x1=c( 0.05, 1.1, 0.5,2.073,0.847), y1=c(1,2, 4, 5, 7)) # os segmentos do IC
#SEGUNDA PARTE
par (mar=c(5,4,4,2.9))#controla tamanhos das margens
plot(x=NULL,y=NULL, xlim=c(0,2), ylim=c(0.5,7.5),type="n", xaxt="n", yaxt="n",xlab="", ylab="", bty="n") # bty: tipo de caixa no limite do gráfico; xaxt: tipo de eixo x 
points(x=rep(c(0.5),4), y=c(0.4, 2.6, 3.4, 5.6), pch="-")
segments(x0=c(0.5, 0.5), y0=c(0.4, 3.4), x1=c(0.5,0.5), y1=c(2.6, 5.6))
axis(side=4, at=1.5, labels= "Target life stage", lwd.ticks=0)
axis(side=4, at=4.5, labels= "Geographic region", lwd.ticks=0)
#para salvar em JPEG ou outras extensões
savePlot("metagraf.png", type="png")
\end{lstlisting}



\end{document}
