31
Présentation package graphique ggplo Alicia Gehin, Charlotte Rüger, Carole Cortes

Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Embed Size (px)

Citation preview

Page 1: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Alicia Gehin, Charlotte Rüger, Carole Cortes

Page 2: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Principe du package ggplot2

Fonctions du packages

Les différents Layers

Exemples d’utilisation

Page 3: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Principe du package ggplot2

2

Graphique = association d’objets : calques(basé sur Grammaire des graphiques de

Wilkinson)

Vocabulaire plus intuitif

Page 4: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

1ère fonction de base : qplot()

3

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 …

Page 5: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

2ème fonction de base : ggplot()

pour aller plus loin que la fonction qplot()

graphique plus complexe

4

Page 6: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

2ème fonction de base : ggplot()

5

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 + layer1 + layer2 …

Page 7: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Les différents types de Layers

6

geom_x()

scale_x()

facet_x()

stat_x()

coord_x()

theme_X()

position_x()

Page 8: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type geom_x()

7

qplot(T15,maxO3,data=ozone)

Possibilité d’ajouter une courbe de tendance

qplot(Ne15,maxO3,data=ozone, geom=c("point","smooth"),method=loess,span=1)

40

80

120

160

15 20 25 30 35T15

ma

xO3

Nuage de points

Page 9: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type geom_x()

8

Boxplot

40

80

120

160

Est Nord Ouest Sudvent

ma

xO3

qplot(vent,maxO3,data=ozone, geom="boxplot",outlier.colour = "red")

Jitter

40

80

120

160

Est Nord Ouest Sudvent

ma

xO3

vent

Est

Nord

Ouest

Sud

qplot(vent,maxO3,data=ozone, geom="jitter",colour=vent)

Page 10: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

qplot(maxO3,data=ozone,geom="histogram",binwidth=10,fill=vent)

qplot(maxO3,data=ozone, geom="density" , fill=pluie, alpha=I(1/5)))

Histogramme Courbe de densité

Layers de type geom_x()

9

,adjust=2

Page 11: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Barplot

0

10

20

30

40

50

Est Nord Ouest Sudvent

cou

nt

0.02

0.03

0.04

0.05

1970 1980 1990 2000date

un

em

plo

y/p

op

Série temporelle

qplot(date,unemploy/pop,data=economics,geom="line")

Layers de type geom_x()

bar=ggplot(ozone,aes(x=vent))bar+ geom_bar(fill="grey", colour="black")

10

Page 12: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type position_()

qplot(maxO3, data=ozone, geom="histogram", fill=vent, position="stack",binwidth=25)

qplot(maxO3, data=ozone, geom="histogram", fill=vent, position="dodge",binwidth=25)

0

5

10

15

20

0 50 100 150 200maxO3

cou

nt

vent

Est

Nord

Ouest

Sud

11

Page 13: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

qplot(maxO3, data=ozone, geom="histogram", fill=vent, position="fill",binwidth=25)

Layers de type position_()

12

Page 14: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

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 ggplot2 :X : position de xY : position de ySize : taille d’un geomShape : forme d’un geomLinetype : type de ligne d’un geomColour/fill : couleur d’un geomAlpha : transparence d’un geom, O=transparent… 1=opaque Ggplot2 propose 2 différents scales (continus et discrets) pour la plupart des propriétés esthétiques Graphique: scales représentés

13

Page 15: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type scale_x()

1

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)

20

30

40

80 120 160 200Nombre.annuel.de.jours.de.pluie

Pré

cip

ita

tio

ns.d

e.m

ai.à

.ao

ut

Géographie

Est

Nord

Ouest

Sud

Page 16: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Contrôle l’apparence des points et de la légende associée au graphique

qplot(Overall.quality, Fruity, data = wine, shape =Soil)

Layers de type scale_x()

2.4

2.6

2.8

3.0

3.2

2.4 2.8 3.2 3.6 4.0Overall.quality

Fru

ity

Soil

Reference

Env1

Env2

Env4

Page 17: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

• 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")

Layers de type scale_x()

5.00

5.25

5.50

5.75

6.00

5.00 5.25 5.50 5.75 6.00x

y

10

20

30z

14

Page 18: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

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

Layers de type facet_x()

15

Page 19: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

• 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")

Layers de type facet_x()

0

1

2

3

0

1

2

3

0

1

2

3

0

1

2

3

Est

Nord

Ouest

Sud

100 150 200Nombre.annuel.de.jours.de.pluie

co

un

t

Est Nord Ouest Sud

0

1

2

3

100 150 200 100 150 200 100 150 200 100 150 200Nombre.annuel.de.jours.de.pluie

cou

nt

16

Page 20: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

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))

Layers de type facet_x()

17

Page 21: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

ggplot() + facet_grid(gc~benchmark) + geom_boxplot(data=d, mapping=aes(x=opt, y=time, color=opt))

Layers de type facet_x()

places the panels in a grid with one row for each gc and one column for each benchmark.

                                                                                          

18

Page 22: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type stat_x()

19

transformation statistiques des données avant graphique

graph=ggplot(cochon, aes(x=Sexe, y=Race))graph+stat_sum(aes(group=1))

LW

LWLRP

f mcSexe

Ra

ce

prop

0.24

0.25

0.26

Page 23: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type stat_x()

20

transformation statistiques des données avant de faire le graphique

Graph=qplot(Sexe, Lipidesg, data=cochon)graph+stat_summary(fun.data="mean_cl_normal", colour="red")

20000

30000

40000

f mcSexe

Lip

ide

sg

Page 24: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type coord_x()

21

modification du système des coordonnées

graph+coord_flip() coord_trans()

Est

Nord

Ouest

Sud

0 10 20 30 40 50count

ven

t

vent

Est

Nord

Ouest

Sud

graph=ggplot(ozone, aes(vent, fill=vent))+geom_bar()

jdd = data.frame(a = abs(rnorm(26)),letters) graph = ggplot(jdd,aes(a,letters)) + geom_point() graph + coord_trans(x = "log10")

abcdefghij

kl

mnopqrstuvwxyz

0 1 2 3a

lette

rs

abcdefghij

kl

mnopqrstuvwxyz

1 2a

lette

rs

Page 25: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type coord_x()

22

graph=ggplot(ozone, aes(x=factor(1), fill=vent))+geom_bar() +coord_polar(theta=« y »)

0

30

60

90

1

count

fact

or(

1)

vent

Est

Nord

Ouest

Sud

Page 26: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Layers de type theme_x()

23

Permet d’améliorer l’apparence globale des graphiques en modifiant les couleurs de fond

graph+theme_bw() graph+theme_gray()

graph=ggplot(ozone, aes(maxO3, fill=vent))+geom_bar()

0

3

6

9

60 90 120 150 180maxO3

cou

nt

vent

Est

Nord

Ouest

Sud

0

3

6

9

60 90 120 150 180maxO3

cou

nt

vent

Est

Nord

Ouest

Sud

0

3

6

9

60 90 120 150 180maxO3

coun

t

vent

Est

Nord

Ouest

Sud

theme_update(plot.background = theme_rect(fill = "yellow"))

Page 27: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Exemples d’utilisation

24

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/)

Page 28: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Exemples d’utilisation

24

par David Kahle (Rice University)https ://github.com/hadley/ggplot2/wiki

Page 29: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Présentation du package graphique ggplot2

Conclusion

25

graphiques plus design et plus complexes

code plus intuitif

graphique = objet

Page 30: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Merci de votre attention !

Page 31: Alicia Gehin, Charlotte Rüger, Carole Cortes. Principe du package ggplot2 Fonctions du packages Les différents Layers Exemples dutilisation

Références• http://docs.ggplot2.org/current/• http://ggplot2.org/• https://github.com/hadley/ggplot2/blob/master/R/aes.r

• http://rug.mnhn.fr/semin-r/PDF/semin-R_ggplot2_JSueur_200510.pdf• http://rug.mnhn.fr/semin-r/PDF/INED-SFdS-MNHN_Sueur_280411.pdf• http://www.columbia.edu/~cjd11/charles_dimaggio/DIRE/resources/R/gg

plotTutorial.pdf• http://www.ceb-institute.org/bbs/wp-content/uploads/2011/09/handout

_ggplot2.pdf