19 ggplot2
Em construção
19.0.1 Como juntar vários gráficos do ggplot2
No tutorial abaixo apresentamos uma das formas de juntar vários gráficos do ggplot2 em uma única figura.
Obs.: Estamos usando o gráfico de colunas como exemplo, todavia, esses mesmos comandos funcionam para todos os gráficos do ggplot2 e de outros pacotes que utilizam o ggplot2.
19.0.1.1 Conjunto de dados
Vamos trabalhar com três experimentos em DIC com quatro tratamentos e três repetições cada.
=c(10,12,13,18,19,16,5,6,5,25,26,28)
exp1=c(9,12,11,18,20,16,7,6,9,25,28,28)
exp2=c(9,12,13,18,22,15,3,6,4,25,30,28)
exp3=rep(c(paste("T",1:4)),e=3)
Trat=data.frame(Trat,exp1,exp2,exp3)
dados$Trat=as.factor(Trat) dados
19.0.2 Juntando três gráficos do ggplot2
Obs Para edição do gráfico ver tutorial sobre gráfico de colunas usando o ggplot2
library(ggplot2)
=tapply(exp1, Trat, mean);d1=tapply(exp1, Trat, sd)
m1=data.frame(Trat=rownames(m1),m1,d1)
dados1=ggplot(dados1, aes(x=Trat,y=m1))+geom_col()+theme_bw()+
ageom_errorbar(aes(ymax=m1+d1, ymin=m1-d1), width=0.25)
=tapply(exp2, Trat, mean);d2=tapply(exp2, Trat, sd)
m2=data.frame(Trat=rownames(m2),m2,d2)
dados2=ggplot(dados2, aes(x=Trat,y=m2))+geom_col()+theme_bw()+
bgeom_errorbar(aes(ymax=m2+d2,ymin=m2-d2), width=0.25)
=tapply(exp3, Trat, mean);d3=tapply(exp3, Trat, sd)
m3=data.frame(Trat=rownames(m3),m3,d3)
dados3=ggplot(dados3, aes(x=Trat,y=m3))+geom_col()+theme_bw()+
cgeom_errorbar(aes(ymax=m3+d3,ymin=m3-d3),width=0.25)
19.0.3 Gráficos lado a lado
library(gridExtra)
grid.arrange(a,b,c,ncol=3)
19.0.4 Gráficos um abaixo do outro
grid.arrange(a,b,c,ncol=1)
19.0.5 Dois na primeira linha e uma no lado esquerdo da segunda linha
grid.arrange(a,b,c,ncol=2)
19.0.6 Dois na primeira linha e uma centralizado na segunda linha
grid.arrange(a,b,c,
layout_matrix = rbind(c(1,1,2,2), c(NA,3,3,NA)))
19.0.7 Dois na primeira linha e uma a direita na segunda linha
grid.arrange(a,b,c,
layout_matrix = rbind(c(1,1,2,2), c(NA,NA,3,3)))
19.0.8 Título em gráficos agrupados
=grid.arrange(a,b,layout_matrix = rbind(c(1,1,2,2)),top="Titulo 1") a1
=grid.arrange(a,b,layout_matrix = rbind(c(1,1,2,2)),top="Titulo 2") a2
grid.arrange(a1,a2)