Prsentation du package graphique ggplot 2 Alicia Gehin

  • Slides: 31
Download presentation
Présentation du package graphique ggplot 2 Alicia Gehin, Charlotte Rüger, Carole Cortes

Présentation du package graphique ggplot 2 Alicia Gehin, Charlotte Rüger, Carole Cortes

ØPrincipe du package ggplot 2 ØFonctions du packages ØLes différents Layers ØExemples d’utilisation

ØPrincipe du package ggplot 2 ØFonctions du packages ØLes différents Layers ØExemples d’utilisation

Principe du package ggplot 2 Graphique = association d’objets : calques (basé sur Grammaire

Principe du package ggplot 2 Graphique = association d’objets : calques (basé sur Grammaire des graphiques de Wilkinson) Vocabulaire plus intuitif Présentation du package graphique ggplot 2 2

1ère fonction de base : qplot() Ø x , y (fonctions de variables possibles:

1ère fonction de base : qplot() Ø x , y (fonctions de variables possibles: log (x), log (y)… Ø data Ø main, xlab, ylab, xlim, ylim… (arguments similaires à la fonction plot) Ø arguments définissant la nature du graphique … Présentation du package graphique ggplot 2 3

2ème fonction de base : ggplot() Ø pour aller plus loin que la fonction

2ème fonction de base : ggplot() Ø pour aller plus loin que la fonction qplot() Ø graphique plus complexe Présentation du package graphique ggplot 2 4

2ème fonction de base : ggplot() Ø Création d’un objet ggplot : 2 arguments

2ème fonction de base : ggplot() Ø Création d’un objet ggplot : 2 arguments ü jeu de données üParamètres esthétiques du graphique : fonction aes() Graph=ggplot(data, aes(x, y, …)) Ø Superposition de calque Graph + layer 1 + layer 2 … Présentation du package graphique ggplot 2 5

Les différents types de Layers ü geom_x() ü position_x() ü scale_x() ü facet_x() ü

Les différents types de Layers ü geom_x() ü position_x() ü scale_x() ü facet_x() ü stat_x() ü coord_x() ü theme_X() Présentation du package graphique ggplot 2 6

Layers de type geom_x() Nuage de points Possibilité d’ajouter une courbe de tendance qplot(T

Layers de type geom_x() Nuage de points Possibilité d’ajouter une courbe de tendance qplot(T 15, max. O 3, data=ozone) qplot(Ne 15, max. O 3, data=ozone, geom=c("point", "smooth"), method=loess, span=1) Présentation du package graphique ggplot 2 7

Layers de type geom_x() Boxplot Jitter qplot(vent, max. O 3, data=ozone, geom="boxplot", outlier. colour

Layers de type geom_x() Boxplot Jitter qplot(vent, max. O 3, data=ozone, geom="boxplot", outlier. colour = "red") qplot(vent, max. O 3, data=ozone, geom="jitter", colour=vent) Présentation du package graphique ggplot 2 8

Layers de type geom_x() Histogramme Courbe de densité , adjust=2 qplot(max. O 3, data=ozone,

Layers de type geom_x() Histogramme Courbe de densité , adjust=2 qplot(max. O 3, data=ozone, geom="histogram", qplot(max. O 3, data=ozone, binwidth=10, fill=vent) geom="density" , fill=pluie, alpha=I(1/5))) Présentation du package graphique ggplot 2 9

Layers de type geom_x() Barplot Série temporelle bar=ggplot(ozone, aes(x=vent)) bar+ geom_bar(fill="grey", colour="black") qplot(date, unemploy/pop,

Layers de type geom_x() Barplot Série temporelle bar=ggplot(ozone, aes(x=vent)) bar+ geom_bar(fill="grey", colour="black") qplot(date, unemploy/pop, data=economics, geom="line") Présentation du package graphique ggplot 2 10

Layers de type position_() qplot(max. O 3, data=ozone, geom="histogram", fill=vent, position="stack", binwidth=25) qplot(max. O

Layers de type position_() qplot(max. O 3, data=ozone, geom="histogram", fill=vent, position="stack", binwidth=25) qplot(max. O 3, data=ozone, geom="histogram", fill=vent, position="dodge", binwidth=25) Présentation du package graphique ggplot 2 11

Layers de type position_() qplot(max. O 3, data=ozone, geom="histogram", fill=vent, position="fill", binwidth=25) Présentation du

Layers de type position_() qplot(max. O 3, data=ozone, geom="histogram", fill=vent, position="fill", binwidth=25) Présentation du package graphique ggplot 2 12

Layers de type scale_x() Ø Contrôle l’apparence des points et de la légende associée

Layers de type scale_x() Ø Contrôle l’apparence des points et de la légende associée au graphique Ø Mise en correspondance entre les données et les propriétés esthétiques du geom Ø Les propriétés esthétiques de ggplot 2 : X : position de x Y : position de y Size : taille d’un geom Shape : forme d’un geom Linetype : type de ligne d’un geom Colour/fill : couleur d’un geom Alpha : transparence d’un geom, O=transparent… 1=opaque Ø Ggplot 2 propose 2 différents scales (continus et discrets) pour la plupart des propriétés esthétiques Ø Graphique: scales représentés Présentation du package graphique ggplot 2 13

Layers de type scale_x() Ø Contrôle l’apparence des points et de la légende associée

Layers de type scale_x() Ø Contrôle l’apparence des points et de la légende associée au graphique qplot(Nombre. annuel. de. jours. de. pluie, Précipitations. de. mai. à. aout, data = pluie, colour = Géographie) Présentation du package graphique ggplot 2 1

Layers de type scale_x() Ø Contrôle l’apparence des points et de la légende associée

Layers de type scale_x() Ø Contrôle l’apparence des points et de la légende associée au graphique qplot(Overall. quality, Fruity, data = wine, shape =Soil) Présentation du package graphique ggplot 2

Layers de type scale_x() • • • dsub <- subset(diamonds, x > 5 &

Layers de type scale_x() • • • dsub <- subset(diamonds, x > 5 & x < 6 & y > 5 & y < 6) (d <- qplot(x, y, data=dsub, colour=z)) d + scale_colour_gradient(limits=c(3, 4), low="red", high="white") Présentation du package graphique ggplot 2 14

Layers de type facet_x() Ø Le principe : diviser le jeu de données en

Layers de type facet_x() Ø Le principe : diviser le jeu de données en sous ensembles • Cela facilite la comparaison de sous groupes d’un jeu de données. • Selon si on veut le facteur en ligne ou en colonne syntaxe différente • facets = facteur ~. produira un graphique multiple en lignes • facets =. ~ facteur produira un graphique multiple en colonnes Présentation du package graphique ggplot 2 15

Layers de type facet_x() • • qplot(Nombre. annuel. de. jours. de. pluie, data =

Layers de type facet_x() • • qplot(Nombre. annuel. de. jours. de. pluie, data = pluie, facets = Géographie ~. , geom = "histogram") qplot(Nombre. annuel. de. jours. de. pluie, data = pluie, facets =. ~ Géographie, geom = "histogram") Présentation du package graphique ggplot 2 16

Layers de type facet_x() ggplot() + geom_boxplot(data=d, mapping=aes(x=opt, y=time, color=opt)) ggplot() + facet_wrap(~benchmark) +

Layers de type facet_x() ggplot() + geom_boxplot(data=d, mapping=aes(x=opt, y=time, color=opt)) ggplot() + facet_wrap(~benchmark) + geom_boxplot(data=d, mapping=aes(x=opt, y=time, color=opt)) Présentation du package graphique ggplot 2 17

 Layers de type facet_x() ggplot() + facet_grid(gc~benchmark) + geom_boxplot(data=d, mapping=aes(x=opt, y=time, color=opt)) Présentation

Layers de type facet_x() ggplot() + facet_grid(gc~benchmark) + geom_boxplot(data=d, mapping=aes(x=opt, y=time, color=opt)) Présentation du package graphique ggplot 2 18

Layers de type stat_x() Ø transformation statistiques données avant graphique graph=ggplot(cochon, aes(x=Sexe, y=Race)) graph+stat_sum(aes(group=1))

Layers de type stat_x() Ø transformation statistiques données avant graphique graph=ggplot(cochon, aes(x=Sexe, y=Race)) graph+stat_sum(aes(group=1)) Présentation du package graphique ggplot 2 19

Layers de type stat_x() Ø transformation statistiques données avant de faire le graphique Graph=qplot(Sexe,

Layers de type stat_x() Ø transformation statistiques données avant de faire le graphique Graph=qplot(Sexe, Lipidesg, data=cochon) graph+stat_summary(fun. data="mean_cl_normal", colour="red") Présentation du package graphique ggplot 2 20

Layers de type coord_x() Ø modification du système des coordonnées graph=ggplot(ozone, aes(vent, fill=vent))+geom_bar() graph+coord_flip()

Layers de type coord_x() Ø modification du système des coordonnées graph=ggplot(ozone, aes(vent, fill=vent))+geom_bar() graph+coord_flip() coord_trans() jdd = data. frame(a = abs(rnorm(26)), letters) graph = ggplot(jdd, aes(a, letters)) + geom_point() graph + coord_trans(x = "log 10") Présentation du package graphique ggplot 2 21

Layers de type coord_x() graph=ggplot(ozone, aes(x=factor(1), fill=vent))+geom_bar() +coord_polar(theta= « y » ) Présentation du

Layers de type coord_x() graph=ggplot(ozone, aes(x=factor(1), fill=vent))+geom_bar() +coord_polar(theta= « y » ) Présentation du package graphique ggplot 2 22

Layers de type theme_x() Ø Permet d’améliorer l’apparence globale des graphiques en modifiant les

Layers de type theme_x() Ø Permet d’améliorer l’apparence globale des graphiques en modifiant les couleurs de fond graph=ggplot(ozone, aes(max. O 3, fill=vent))+geom_bar() graph+theme_gray() graph+theme_bw() Présentation du package graphique ggplot 2 theme_update(plot. background = theme_rect(fill = "yellow")) 23

Exemples d’utilisation graph= ggplot(nba. m, aes(variable, Name)) + geom_tile(aes(fill = rescale), + colour =

Exemples d’utilisation graph= ggplot(nba. m, aes(variable, Name)) + geom_tile(aes(fill = rescale), + colour = "white") + scale_fill_gradient(low = "white", + high = "steelblue")) Source : learnr (http : //learnr. wordpress. com/) Présentation du package graphique ggplot 2 24

Exemples d’utilisation par David Kahle (Rice University) https : //github. com/hadley/ggplot 2/wiki Présentation du

Exemples d’utilisation par David Kahle (Rice University) https : //github. com/hadley/ggplot 2/wiki Présentation du package graphique ggplot 2 24

Conclusion Ø graphiques plus design et plus complexes Ø code plus intuitif Ø graphique

Conclusion Ø graphiques plus design et plus complexes Ø code plus intuitif Ø graphique = objet Présentation du package graphique ggplot 2 25

Merci de votre attention !

Merci de votre attention !

Références • http: //docs. ggplot 2. org/current/ • http: //ggplot 2. org/ • https:

Références • http: //docs. ggplot 2. org/current/ • http: //ggplot 2. org/ • https: //github. com/hadley/ggplot 2/blob/master/R/aes. r • http: //rug. mnhn. fr/semin-r/PDF/semin-R_ggplot 2_JSueur_200510. pdf • http: //rug. mnhn. fr/semin-r/PDF/INED-SFd. S-MNHN_Sueur_280411. pdf • http: //www. columbia. edu/~cjd 11/charles_dimaggio/DIRE/resources/R/gg plot. Tutorial. pdf • http: //www. ceb-institute. org/bbs/wpcontent/uploads/2011/09/handout_ggplot 2. pdf