data = ...
)mapping = aes(...)
)geom_
)scale_
)labs(...)
)facet_
)coord_
)theme_
et theme()
)Parfois, nous voulons présenter le même graphique, mais pour plusieurs valeurs d’une variable catégorielle.
Possible de garder les couleurs aussi. (Nous allons voir comment retirer la légende dans un instant.)
Rappelez-vous: ggplot() fonctionne par étage. Il est donc tout à fait possible d’ajouter les autres étages que nous avons vus précédemment!
mutate()
et recode()
, par exemple)labeller()
à l’intérieur de facet_wrap()
labeller()
à l’intérieur de facet_wrap()
Utiliser l’argument labeller()
à l’intérieur de facet_wrap()
binary_noms <- c("FAIL" = "Échec",
"PASS" = "Réussite")
p4 = ggplot(data = dat, aes(x = metascore, fill = binary)) +
geom_density() +
labs(title = "Distributions des notes Metascore en fonction du test Bechdel",
x = "Note Metascore",
y = "Densité") +
facet_wrap(~binary, labeller = as_labeller(binary_noms))
p4
La fonction coord_cartesian()
permet de faire un zoom sur le graphique.
## [1] "character"
## [1] "numeric"
limits
?Quelle est la différence entre coord_cartesian()
et limits
?
limits
supprime les observations qui se trouvent à l’extérieur de l’étendue choisie.coord_cartesian()
fait un “zoom”. Les observations sont toujours là, mais on ne les voit plus (elles se trouvent à l’extérieur du cadre).coord_cartesian()
vs. limits
: ce que ça changecoord_cartesian()
vs. limits
: ce que ça changecoord_cartesian()
vs. limits
: ce que ça changecoord_flip()
permet d’inverser l’axe des x et l’axe des y.
budget
sur l’axe des x et intgross
sur l’axe des y. Créez une facette pour chaque catégorie de la variable clean_test
.budget
sur l’axe des x et intgross
sur l’axe des y. Créez une facette pour chaque catégorie de la variable clean_test
.Références pour les éléments qui se retrouvent dans theme()
:
axis.title.x()
, legend.position()
, plot.subtitle()
, etc.element_text()
, element_rect()
, element_line()
, element_blank()
ggplot(data = dat, aes(x = metascore, fill = binary)) +
geom_density(alpha = .4) +
facet_wrap(~binary)+
labs(title = "Distributions des notes Metascore",
subtitle = "En fonction du résultat au test Bechdel",
x = "Note Metascore",
y = "Densité") +
theme(axis.title = element_text(hjust = 1),
legend.position = "",
plot.title = element_text(size = 18))
ggplot(data = dat, aes(x = metascore, fill = binary)) +
geom_density(alpha = .4) +
facet_wrap(~binary)+
labs(title = "Distributions des notes Metascore",
subtitle = "En fonction du résultat au test Bechdel",
x = "Note Metascore",
y = "Densité") +
theme(axis.title = element_text(hjust = 1),
legend.position = "",
plot.title = element_text(size = 18),
panel.background = element_rect(fill = "white"))
Et des centaines d’autres combinaisons !
director
).year
sur l’axe des x et budget_2013
sur l’axe des y. Ajoutez aussi une ligne qui traverse tous les points.clean_test
.director
).year
sur l’axe des x et budget_2013
sur l’axe des y. Ajoutez aussi une ligne qui traverse tous les points.clean_test
.ggplot(data = dat_court, aes(x = year, y = budget_2013)) +
geom_point(size = 2, aes(color = clean_test)) +
geom_line() +
scale_y_continuous(labels = scales::dollar_format()) +
scale_color_discrete(name = "Test Bechdel",
labels = c("Résultat incertain", "Parlent à des hommes",
"Ne parlent pas", "Pas de femmes",
"Réussite")) +
labs(title = "Budget des films de S. Spielberg et résultat du test Bechdel",
x = "Année",
y = "Budget (dollars de 2013)") +
theme_minimal()
theme()
.ggplot(data = dat, aes(x = metascore, fill = binary)) +
geom_density(alpha = .4) +
facet_wrap(~binary)+
labs(title = "Distributions des notes Metascore",
subtitle = "En fonction du résultat au test Bechdel",
x = "Note Metascore",
y = "Densité") +
theme(plot.title = element_text(family = "Times New Roman"))
extrafont
permet de voir quelles polices de caractère sont disponibles sur votre ordinateur et de les importer dans R.ggplot(data = dat, aes(x = metascore, fill = binary)) +
geom_density(alpha = .4) +
facet_wrap(~binary)+
labs(title = "Distributions des notes Metascore",
subtitle = "En fonction du résultat au test Bechdel",
x = "Note Metascore",
y = "Densité") +
theme(plot.title = element_text(family = "Futura-Bold", size = 18))
font_import()
pour importer toutes les policies qui se trouvent sur votre ordinateur dans R.fonts()
.La fonction ggsave()
permet d’enregistrer vos graphiques sur votre ordinateur (.png, .pdf, etc.).
?ggsave
p = ggplot(data = dat, aes(x = metascore, fill = binary)) +
geom_density(alpha = .4) +
scale_fill_discrete(name = "",
labels = c("Échec","Réussite")) +
labs(title = "Distributions des notes Metascore",
subtitle = "En fonction du résultat au test Bechdel",
x = "Note Metascore",
y = "Densité") +
theme_minimal() +
theme(axis.title = element_text(hjust = 1),
legend.position = "",
plot.title = element_text(size = 16))
ggsave("demo_enregistrer.png", plot = p, width = 8, height = 5)
ggsave()
, le graphique se trouvera au même emplacement que le fichier à partir duquel vous travaillez puisque vous vous trouvez à l’intérieur d’un R Project.setwd()
. Exemple: