2 minute read
R PLOT, graphique en boîte à moustache
ANTOINE HAREL
Cette chronique a comme sujet le package ggplot. Cette fonction permet de faire de très beaux graphiques sur R. Je vais vous présenter un exemple de graphique de type boîte à moustache (boxplot). Comme c’est le premier d’une série d’articles, je vais aussi commencer par vous montrer comment charger votre jeu de données, installer les packages, etc. Le texte situé derrière une étoile « * » s’adresse donc aux novices de
Advertisement
R.
C’est sûr que si vous souhaitez faire un graphique très rapidement pour visualiser votre jeu de données ou le résultat d’une analyse, je vous recommande d’utiliser les commandes de base sur R. Par contre, s’il s’agit d’un graphique destiné à une publication scientifique ou une présentation, ggplot peut se révéler particulièrement utile puisqu’il permet de personnaliser tous les aspects de votre graphique.
Candidat à la maîtrise en sciences forestières
antoine.harel.1@ulaval.ca
Il est maintenant temps de faire le graphique, je vous présente le script en entier, puis je vous explique ligne par ligne.
ggplot(data = DATA) + geom_boxplot(mapping = aes(x=PRODUCTIVITE, y=FLUX, group = PRODUCTIVITE, fill=PRODUCTIVITE)) + ylab("Flux totaux (15 juin - 15 octobre)\nde CO2 du sol (umol m-2. s-1)") + xlab("Classe de productivité") + scale_fill_manual(values=c("#56B4E9", "#009E73", "#F0E442", "#0072B2"), name = "Classe de productivité", breaks=c("1","2","3","4"), labels=c("Classe 1 ", "Classe 2 ", "Classe 3 ", "Classe 4")) + theme_few() + ylim(800, 2300) + theme( axis.text = element_text(family ="Arial", size = 12, face ="plain"), axis.title.x = element_text(family ="Arial", size =12, face ="bold"), axis.title.y = element_text(family ="Arial", size =12, face ="bold"), legend.title = element_text(family ="Arial", size =14, face ="plain"), legend.text = element_text(family ="Arial", size =14, face ="plain"), panel.background = element_rect(fill = "white"), plot.background = element_rect(fill = "white"), legend.background = element_rect(fill = "white"), legend.key = element_rect(fill="white"), legend.margin = margin(15,0,0,0), panel.border= element_rect(linetype = 1, size=2), panel.grid.major.y = element_line(colour="black", linetype = 3, size = 0.5), panel.grid.major.x = element_blank(), legend.position = "bottom", legend.direction = "horizontal", legend.key.size = unit(3, 'lines'), legend.spacing.x = unit(0, 'cm’), plot.margin = unit(c(0.2, 0.2, 1, 0.2), "cm"))
*Vous devriez pouvoir copier-coller ce code et l’essayer dans R