ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données


Ce tutoriel R décrit comment créer un graphique en camembert (pie chart en anglais) avec le logiciel R et le package ggplot2.

La fonction coord_polar() est utilisée pour produire le graphique en camembert, qui n’est qu’un bar plot transformé en coordonnées polaires.

Graphique en camembert simple

Générer des données:

df <- data.frame(
  group = c("Male", "Female", "Child"),
  value = c(25, 25, 50)
  )
head(df)
##    group value
## 1   Male    25
## 2 Female    25
## 3  Child    50

Utiliser un bar plot pour visualiser les données:

library(ggplot2)
# Bar plot
bp<- ggplot(df, aes(x="", y=value, fill=group))+
geom_bar(width = 1, stat = "identity")
bp

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

Créer un diagramme en camembert :

pie <- bp + coord_polar("y", start=0)
pie

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

Changer les couleurs de remplissage

Les couleurs de remplissage peuvent être changées manuellement en utilisant les fonctions:

  • scale_fill_manual() : pour utiliser des couleurs personnalisées
  • scale_fill_brewer() : pour utiliser les palettes de couleurs du package RColorBrewer
  • scale_fill_grey() : pour utiliser la palette de couleurs grises
# Utiliser des couleurs personnalisées
pie + scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

# Utiliser les palettes RColorBrewer
pie + scale_fill_brewer(palette="Dark2")

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

pie + scale_fill_brewer(palette="Blues")+
  theme_minimal()

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

# Utiliser la palette de couleurs grises
pie + scale_fill_grey() + theme_minimal()

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

Lire plus sur ggplot2 et les couleurs ici: ggplot2 couleurs

Créer un diagramme en camembert à partir d’une variable de type facteur

Le jeu de données PlantGrowth est utilisé:

head(PlantGrowth)
##   weight group
## 1   4.17  ctrl
## 2   5.58  ctrl
## 3   5.18  ctrl
## 4   6.11  ctrl
## 5   4.50  ctrl
## 6   4.61  ctrl

Créer un graphique en camembert du comptage des observations dans chaque groupe:

ggplot(PlantGrowth, aes(x=factor(1), fill=group))+
  geom_bar(width = 1)+
  coord_polar("y")

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

Graphique en camembert personnalisé

Créer un theme blanc:

blank_theme <- theme_minimal()+
  theme(
  axis.title.x = element_blank(),
  axis.title.y = element_blank(),
  panel.border = element_blank(),
  panel.grid=element_blank(),
  axis.ticks = element_blank(),
  plot.title=element_text(size=14, face="bold")
  )
  1. Appliquer le thème blanc
  2. Supprimer les étiquettes des graduations des axes
  3. Ajouter du texte d’annotations: Le package scales est utilisé pour formater les étiquettes en pourcentage:
# Appliquer un thème blanc
library(scales)
pie + scale_fill_grey() +  blank_theme +
  theme(axis.text.x=element_blank()) +
  geom_text(aes(y = value/3 + c(0, cumsum(value)[-length(value)]), 
            label = percent(value/100)), size=5)

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

# Utiliser la palette de couleur brewer
pie + scale_fill_brewer("Blues") + blank_theme +
  theme(axis.text.x=element_blank())+
  geom_text(aes(y = value/3 + c(0, cumsum(value)[-length(value)]), 
                label = percent(value/100)), size=5)

ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données

Infos

Cette analyse a été faite en utilisant le logiciel R (ver. 3.1.2) et le package ggplot2 (ver. 1.0.0)


Enjoyed this article? I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Twitter, Facebook or Linked In.

Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Avez vous aimé cet article? Je vous serais très reconnaissant si vous aidiez à sa diffusion en l'envoyant par courriel à un ami ou en le partageant sur Twitter, Facebook ou Linked In.

Montrez-moi un peu d'amour avec les like ci-dessous ... Merci et n'oubliez pas, s'il vous plaît, de partager et de commenter ci-dessous!






Cette page a été vue 14618 fois