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 12630 fois
Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons