Créer un histogramme avec ggplot dans R

Jinku Hu 30 janvier 2023
  1. Utilisez geom_histogram pour créer un histogramme avec ggplot dans R
  2. Utilisez les paramètres fill, colour et size pour modifier les visuels de l’histogramme dans R
  3. Utilisez facet_wrap pour construire plusieurs histogrammes regroupés par catégorie dans R
Créer un histogramme avec ggplot dans R

Cet article montrera comment créer un histogramme avec ggplot dans R.

Utilisez geom_histogram pour créer un histogramme avec ggplot dans R

Un histogramme simple est construit à l’aide de la fonction geom_histogram, et il n’a besoin que d’une variable pour tracer le graphe. Dans ce cas, nous utilisons l’ensemble de données diamonds, à savoir la colonne price de celui-ci, pour spécifier le mappage sur l’axe des x. geom_histogram choisit automatiquement la taille du bac et les points de données à l’échelle, sauf si explicitement passé par l’utilisateur.

library(ggplot2)

p1 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram()

p1

R ggplot histogramme 1

L’exemple suivant développe l’extrait de code précédent pour spécifier les points d’arrêt sur chaque axe à l’aide des fonctions scale_x_continuous et scale_y_continuous. Le paramètre breaks est utilisé pour transmettre les valeurs générées par la fonction seq. Les paramètres seq sont intuitifs à lire car ils forment le motif - (from, to, by). Nous utilisons également la fonction grid.arrange pour afficher deux graphiques côte à côte pour une comparaison visuelle.

library(ggplot2)
library(gridExtra)

p1 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram()

p2 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram() +
  scale_y_continuous(breaks = seq(1000, 14000, 2000)) +
  scale_x_continuous(breaks = seq(0, 18000, 2000))

grid.arrange(p1, p2, nrow = 2)

ggplot histogramme 2

Utilisez les paramètres fill, colour et size pour modifier les visuels de l’histogramme dans R

Les paramètres communs tels que fill, colour et size peuvent être utilisés pour modifier le visuel des cases graphiques. Le paramètre fill spécifie la couleur avec laquelle les cases sont remplies ; en revanche, la colour est utilisée pour les coups de bac. size prend une valeur numérique pour indiquer la largeur des traits du bac. Notez également que l’extrait de code suivant ajoute le paramètre name aux deux axes.

library(ggplot2)
library(gridExtra)

p3 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram(fill = "pink", colour = "brown") +
  scale_y_continuous(breaks = seq(1000, 14000, 2000)) +
  scale_x_continuous(breaks = seq(0, 18000, 2000))

p4 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram(fill = "pink", colour = "brown", size = .3) +
  scale_y_continuous(breaks = seq(1000, 14000, 2000), name = "Number of diamonds" ) +
  scale_x_continuous(breaks = seq(0, 18000, 2000), name = "Price" )

grid.arrange(p3, p4, nrow = 2)

ggplot histogramme 3

Utilisez facet_wrap pour construire plusieurs histogrammes regroupés par catégorie dans R

La fonction facet_wrap peut être utilisée pour dessiner plusieurs histogrammes basés sur l’ensemble de variables. L’ensemble de données diamonds fournit suffisamment de dimensions pour choisir les variables dans l’une de ses colonnes. Par exemple, nous avons choisi la colonne cut pour afficher différents histogrammes price pour chaque type. La fonction theme peut également être combinée avec le geom_histogram pour spécifier un formatage personnalisé pour les éléments de graphique.

library(ggplot2)

p5 <- ggplot(diamonds, aes(x = price)) +
  geom_histogram(fill = "pink", colour = "brown", size = .3) +
  scale_y_continuous( name = "Number of diamonds" ) +
  scale_x_continuous( name = "Price" ) +
  facet_wrap(~cut) +
  theme(
    axis.title.x = element_text(
      size = rel(1.2), lineheight = .9,
      family = "Calibri", face = "bold", colour = "black"
    ),
    axis.title.y = element_text(
      size = rel(1.2), lineheight = .9,
      family = "Calibri", face = "bold", colour = "black"
    ),
    plot.background = element_rect("yellow"))


p5

ggplot histogramme 4

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - R Plot