Comment tracer plusieurs histogrammes dans R (avec exemples)



Vous pouvez utiliser la syntaxe suivante pour tracer plusieurs histogrammes sur le même graphique en base R :

hist(data1, col='red')
hist(data2, col='blue', add=TRUE)

Et vous pouvez utiliser la syntaxe suivante pour tracer plusieurs histogrammes dans ggplot2 :

ggplot(df, aes(x = x_var, fill = grouping_var)) +
  geom_histogram(position = 'identity', alpha = 0.4)

Les exemples suivants montrent comment utiliser chacune de ces méthodes dans la pratique.

Méthode 1 : tracer plusieurs histogrammes en base R

Le code suivant montre comment tracer plusieurs histogrammes dans un seul tracé en base R :

#make this example reproducible
set.seed(1)

#define data
x1 = rnorm(1000, mean=0.8, sd=0.2)
x2 = rnorm(1000, mean=0.4, sd=0.1)

#plot two histograms in same graph
hist(x1, col='red', xlim=c(0, 1.5), main='Multiple Histograms', xlab='x')
hist(x2, col='green', add=TRUE)

#add legend
legend('topright', c('x1 variable', 'x2 variable'), fill=c('red', 'green'))

Plusieurs histogrammes dans un seul tracé dans R

Méthode 2 : tracer plusieurs histogrammes dans ggplot2

Le code suivant montre comment tracer plusieurs histogrammes dans un seul tracé dans R à l’aide de ggplot2 :

library(ggplot2)

#make this example reproducible
set.seed(1)

#create data frame
df <- data.frame(var = c(rep('x1', 1000), rep('x2', 1000) ),
                   value = c(rnorm(1000, mean=0.8, sd=0.1),
                             rnorm(1000, mean=0.4, sd=0.1)))

#view first six rows of data frame
head(df)

  var     value
1  x1 0.7373546
2  x1 0.8183643
3  x1 0.7164371
4  x1 0.9595281
5  x1 0.8329508
6  x1 0.7179532

#plot multiple histograms
ggplot(df, aes(x=value, fill=var)) +
  geom_histogram( color='#e9ecef', alpha=0.6, position='identity')

Vous pouvez modifier rapidement les couleurs des histogrammes en utilisant la fonction scale_fill_manual() :

Ressources additionnelles

Les didacticiels suivants expliquent comment créer d’autres graphiques courants dans R :

Comment créer un histogramme de fréquence relative dans R
Comment tracer plusieurs boîtes à moustaches dans un seul graphique dans R
Comment tracer plusieurs lignes dans un graphique dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *