GGPLOT

bapaume thomas
19/12/2018

Sommaire

  • Présentation
  • Le Mapping
  • Les Geoms
  • Labs
  • Les Thèmes

Pour télécharger la présentation

https://github.com/bapaumet/cours_ggplot

Pourquoi GGplot

     speed           dist       
 Min.   : 4.0   Min.   :  2.00  
 1st Qu.:12.0   1st Qu.: 26.00  
 Median :15.0   Median : 36.00  
 Mean   :15.4   Mean   : 42.98  
 3rd Qu.:19.0   3rd Qu.: 56.00  
 Max.   :25.0   Max.   :120.00  

Pourquoi GGplot

plot of chunk unnamed-chunk-2

Presentation

GGplot est un package pour faire differents graphiques reposant sur une syntaxe commune et déclar

  • mapping
  • geom
  • mise en forme
  • theme et labels

Instalation

Pour installer GGplot2, on utilise l'environnement tidyverse qui fournit un ensemble d'outils pour R

install.packages('tidyverse')

library(ggplot2)

La structure

ggplot( mes_données, aes( x = mon_premier_axe, y = mon_deuxième_axe)) +

ma_fonction_d'affichage()+

mon_theme() +

labs( x ='ma légende x',
      y = 'ma légende y',
      title = "mon titre")

Un premier graphique

# importation du jeu de données
library(ggplot2)
ggplot(cars, aes(x = dist, y = speed)) +
  geom_point() +
  labs(x = "Distance",
      y = "Vitesse")

plot of chunk unnamed-chunk-3

Un deuxième graphique

plot of chunk unnamed-chunk-4

Mélanger des graphiques facilement

plot of chunk unnamed-chunk-5

$x
[1] "Distance"

$y
[1] "Vitesse"

attr(,"class")
[1] "labels"

Un Mapping Déclaratif

GGplot demande un mapping traduit par la fonction aes()

Les principaux paramètres:

  • x
  • y
  • fill
  • color
  • size

Les Geographical Objects ou Geom

Les geoms définissent la fonction d'affichage de GGplot

GGplot compte une trenataine de geom

Exemple

  • geom_point()
  • geom_line()
  • geom_bar()
  • geom_boxplot()

geom_boxplot

plot of chunk unnamed-chunk-6

geom_point et geom_jitter

plot of chunk unnamed-chunk-7

geom_bar

plot of chunk unnamed-chunk-8

Themes

La function themes permet de creer sa propre mise en forme

theme(
  axis.title.x = element_blank(),
  panel.border = element_blank(),
  panel.grid=element_blank(),
  axis.ticks = element_blank(),
  plot.title=element_text(size=14, face="bold")
)

GGplot fournit un ensemble de themes prédeterminés

theme_minimal()+
theme_dark()

Mise en Forme

GGplot fournit un ensemble d'asset afin de modifier la forme et la structure du graphique

  • La forme, coordonnées polaire ou carthésienne
  • les palettes de couleurs
  • l'echelle (logarithmique ou carthésienne)

La structure finale

  ggplot( mes_données, aes( x = mon_premier_axe, y = mon_deuxième_axe)) +

  geom_point()+

  theme_dark() +

  labs( x ='ma légende x',
        y = 'ma légende y',
        title = "mon titre")

Nightingale Rose

plot of chunk unnamed-chunk-9

Nightingale Rose


ggplot(Data, aes(x = revenu_brut, fill = agglo)) +
  geom_bar(width=1,colour="black",size=0.1) +
  scale_fill_brewer(palette = "Greens")+
  coord_polar()+
  labs(x = "Revenu Brut",
      y = "Nombre d'individu",
      fill = "Agglomération",
      title = "Répartition des populations selon leur revenu et lieu")+
  theme_economist()+
  theme(axis.text.x = element_text(size=8, hjust = 1))

La suite du cours

Aller sur le github suivant:

https://github.com/bapaumet/cours_ggplot

télécharger et remplir le script COURS.r

Pour aller plus loin

Un résumé de ggplot

https://github.com/rstudio/cheatsheets/blob/master/data-visualization-2.1.pdf

graphique animé

https://plot.ly/ggplot2/animations/

Un ensemble de visualisation standard à connaitre:

https://datavizcatalogue.com/index.html

ggthemes

Un ensemble de themes additionnels pour ggplot