Manipulação e visualização de dados no R
6/5/24
Definição de gráficos: mapeamento de dados a partir de atributos estéticos de objetos geométricos
A gramática em camadas de um gráfico: conceito desenvolvido pelo criador do ggplot2, que divide os componentes de um gráfico em diferentes camadas.
Exemplo da vida real!
b<-read.csv("exemplo.csv")
#pdf(filename="Figure1.pdf",width=14.9,height=8.7)
par(mfrow=c(2,3), tcl=-0.5, family="serif")
par(oma=c(1,1,1,1))
par(mgp=c(3,1,0))
par(mar=c(2.5,5,1,0))
boxplot(b$N~b$age*b$loc,
las=2, at=c(1,2,4,5,7,8),
log="y",
cex.axis=1, cex.lab=1,
xaxt="n",
ylim=c(0.2, 3.5),
ylab=expression(paste("N"[mass]," (%)")),
col=c("gray", "White"))
axis(1,at=c(1.5,4.5,7.5),labels=c("", "", ""), cex.axis=1)
text(8, 3,"N", cex=1.2)
legend("bottomleft", c("Green","Senescent"),
fill=c("gray", "white"), cex=1, bty="n")
boxplot(b$P~b$age*b$loc,
las=2, at=c(1,2,4,5,7,8),
cex.axis=1, cex.lab=1,
xaxt="n",
log="y",
ylim=c(0.02, 0.3),
ylab=expression(paste("P"[mass]," (%)")),
col=c("gray", "White"))
axis(1,at=c(1.5,4.5,7.5),labels=c(" ", " ", " "), cex.axis=1)
text(8, 0.25,"P", cex=1.2)
text(1.5, 0.18,"*", cex=1.5)
text(4.5, 0.18,"*", cex=1.5)
text(7.5, 0.15,"*", cex=1.5)
boxplot(b$SLA~b$age*b$loc,
las=2, at=c(1,2,4,5,7,8),
log="y",
cex.axis=1, cex.lab=1,
xaxt="n",
ylim=c(20, 80),
ylab=expression(paste("log SLA (", cm^2, g^-1,")")),
col=c("gray", "White"))
axis(1,at=c(1.5,4.5,7.5),labels=c("", "", ""), cex.axis=1)
text(7, 75,"SLA", cex=1.2)
par(mar=c(3.5,5,0,0))
boxplot(b$K~b$age*b$loc,
las=2, at=c(1,2,4,5,7,8),
log="y",
cex.axis=1, cex.lab=1,
xaxt="n",
ylim=c(0.2, 4),
ylab=expression(paste("K"[mass]," (%)")),
col=c("gray", "White"))
axis(1,at=c(1.5,4.5,7.5),labels=c("Bra.Sav", "Aus.Sav", "Aus.Woo"), cex.axis=0.8)
text(8, 3.5,"K", cex=1.2)
text(4.5, 2,"*", cex=1.5)
boxplot(b$Ca~b$age*b$loc,
las=2, at=c(1,2,4,5,7,8),
log="y",
cex.axis=1, cex.lab=1,
xaxt="n",
ylim=c(0.2, 3.5),
ylab=expression(paste("Ca"[mass]," (%)")),
col=c("gray", "White"))
axis(1,at=c(1.5,4.5,7.5),labels=c("Bra.Sav", "Aus.Sav", "Aus.Woo"), cex.axis=0.8)
text(8, 3,"Ca", cex=1.2)
boxplot(b$Mg~b$age*b$loc,
las=2, at=c(1,2,4,5,7,8),
log="y",
cex.axis=1, cex.lab=1,
xaxt="n",
ylim=c(0.1, 1),
ylab=expression(paste("Mg"[mass]," (%)")),
col=c("gray", "White"))
axis(1,at=c(1.5,4.5,7.5),labels=c("Bra.Sav", "Aus.Sav", "Aus.Woo"), cex.axis=0.8)
text(8, 0.8,"Mg", cex=1.2)
a <- b %>% gather("nutri", "value", 4:9)
ggplot(a, aes(x=loc, y=value, fill=age)) +
facet_wrap(~nutri, nrow=2, scale="free_y")+
geom_boxplot()+ labs(x= " ", y=" ")+
scale_fill_manual(values=c("white", "lightgray"))+
scale_x_discrete(labels = c("Bra.Sav", "Aus.Sav", "Aus.Woo"))+
guides(fill="none")+theme_bw()
Tipos de arquivos
PDF vs. JPEG vs. TIFF, etc…
Sempre prefira PDF!
Usar pacote gridExtra para arranjo de painéis com a função grid.arrange()
Para painéis complexos: pacotes egg e ggpubr