initR 5: Mapping et facettes

Lise Vaudor

10/10/2018

Relier paramètres graphiques et variables: mapping

Nous avons vu comment définir les paramètres des geoms de manière “absolue”. Par exemple:

p <- ggplot(catdata, aes(x=haircolor, y=weight)) +
  geom_boxplot(fill="lightskyblue")

Relier paramètres graphiques et variables: mapping

On peut utiliser en aesthetic des variables autres que celles qui définissent x et y… Cela veut dire que l’on peut très simplement rajouter des couches d’information (et les légendes correspondantes!) au graphique.

# Esthétique propre à geom vs esthétique propre à graphique

Remarquez que l’esthétique fill=sex peut être spécifiée à la fois dans l’appel à geom_boxplot() et l’appel à ggplot() elle-même

p <- ggplot(catdata,aes(x=haircolor,y=weight)) + 
  geom_boxplot(aes(fill=sex))
plot(p)

Esthétique propre à geom vs esthétique propre à graphique

Cependant l’endroit où l’esthétique est spécifiée peut avoir un effet quand le graphique comprend plusieurs couches:

p <- ggplot(catdata,aes(x=haircolor,y=weight)) + 
  geom_boxplot(aes(fill=sex))+
  geom_point(shape=24,size=2)
plot(p)

Facettes (en lignes)

p <- ggplot(catdata, aes(x=foodtype, y=age)) +
  geom_boxplot(aes(fill=foodtype))  
pf=p+facet_grid(rows=vars(hairpattern))
plot(pf)

Facettes (en colonnes)

p <- ggplot(catdata, aes(x=foodtype, y=age)) +
  geom_boxplot(aes(fill=foodtype))  
pf=p+facet_grid(cols=vars(haircolor))
plot(pf)

Facettes (en grille)

p <- ggplot(catdata, aes(x=foodtype, y=age)) +
  geom_boxplot(aes(fill=foodtype))  
pf=p+facet_grid(rows=vars(hairpattern),
                cols=vars(haircolor))
plot(pf)

Facettes (libres)

p <- ggplot(catdata, aes(x=foodtype, y=age)) +
  geom_boxplot(aes(fill=foodtype))  
pf=p+facet_wrap(vars(hairpattern))
plot(pf)