Comment créer des diagrammes circulaires dans ggplot2 (avec exemples)



Un diagramme circulaire est un type de graphique en forme de cercle et utilise des tranches pour représenter les proportions d’un tout.

Ce tutoriel explique comment créer et modifier des diagrammes circulaires dans R à l’aide de la bibliothèque de visualisation de données ggplot2 .

Comment créer un diagramme circulaire de base

Le code suivant montre comment créer un diagramme circulaire de base pour un ensemble de données à l’aide de ggplot2 :

library(ggplot2)

#create data frame
data <- data.frame("category" = c('A', 'B', 'C', 'D'),
                   "amount" = c(25, 40, 27, 8))

#create pie chart
ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) 

diagramme circulaire ggplot2

Comment modifier l’apparence du graphique à secteurs

Le diagramme circulaire par défaut dans ggplot2 est assez moche. Le moyen le plus simple d’améliorer l’apparence est d’utiliser theme_void() , qui supprime l’arrière-plan, la grille et les étiquettes :

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  theme_void()

Diagramme circulaire ggplot2 sans étiquettes

Nous pouvons encore améliorer l’apparence du graphique en ajoutant des étiquettes à l’intérieur des tranches :

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  geom_text(aes(label = paste0(amount, "%")), position = position_stack(vjust=0.5)) +
  labs(x = NULL, y = NULL, fill = NULL)

Diagramme circulaire dans ggplot2 avec des étiquettes personnalisées

Nous pouvons personnaliser encore davantage le graphique en spécifiant nos propres couleurs hexadécimales à utiliser pour les tranches avec l’argument scale_fill_manual() :

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  geom_text(aes(label = paste0(amount, "%")), position = position_stack(vjust=0.5)) +
  labs(x = NULL, y = NULL, fill = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_manual(values=c("#FF5733", "#75FF33", "#33DBFF", "#BD33FF"))

Graphique circulaire ggplot2 manuel de remplissage à l'échelle

Astuce : utilisez ce sélecteur de couleurs hexadécimal pour trouver des combinaisons de codes de couleurs hexadécimaux qui vont bien ensemble.

Vous pouvez également personnaliser les couleurs des tranches en choisissant simplement l’une des échelles de couleurs du brasseur . Par exemple, voici à quoi ressemble l’échelle de couleurs « bleus » :

ggplot(data, aes(x="", y=amount, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  geom_text(aes(label = paste0(amount, "%")), position = position_stack(vjust=0.5)) +
  labs(x = NULL, y = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_brewer(palette="Blues")

Brasseur à l'échelle dans ggplot2

Ressources additionnelles

Comment créer un boxplot groupé dans R à l’aide de ggplot2
Comment créer une carte thermique dans R à l’aide de ggplot2
Comment créer un diagramme de Gantt dans R à l’aide de ggplot2

Ajouter un commentaire

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