HOWTO · R
La fonction scale_y_continuous dans R
Cet article explique comment utiliser la fonction scale_y_continuous dans R
Sur cette page
Cet article présentera la fonction scale_y_continuous dans R.
Utilisez scale_y_continuous pour imprimer les étiquettes de l’axe Y sous forme de pourcentages dans R
scale_y_continuous est utilisé pour définir des valeurs pour l’esthétique de l’échelle continue de l’axe y. La fonction fait partie du package ggplot2 et est principalement utilisée avec les objets ggplot pour modifier différents paramètres des graphiques à dessiner. Cet exemple montre l’utilisation de scale_y_continuous pour imprimer les étiquettes de l’axe Y sous forme de valeurs en pourcentage. Notez que le graphique à barres empilées est créé en utilisant l’appel de fonction geom_col(position = "fill") et les pourcentages sont imprimés en utilisant la fonction scales::percent comme valeur de paramètre labels. Puisque nous avons inclus le package scales en utilisant l’appel library, il est possible de s’y référer en utilisant la notation pourcentage dans la portée de ce script.
library(ggplot2)
library(gridExtra)
library(scales)
p1 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
geom_col(position = "fill")
p2 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
geom_col(position = "fill") +
scale_y_continuous(labels = percent)
grid.arrange(p1, p2, ncol = 2, nrow =2)
Utilisez scale_y_continuous pour définir le rapport d’échelle de l’axe Y dans R
On peut également utiliser scale_y_continuous pour définir l’échelle de l’axe des y et la valeur d’incrémentation pour imprimer l’étiquette suivante. La fonction seq permet de passer la séquence de numéros au paramètre breaks dans l’appel scale_y_continuous. Il interprète les nombres comme une représentation seq(from, to, by= ).
library(ggplot2)
library(gridExtra)
library(scales)
p1 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
geom_col(position = "fill")
p2 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
geom_col(position = "fill") +
scale_y_continuous(labels = percent)
p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_point(colour = "blue")
p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_point(colour = "brown") +
scale_y_continuous(breaks = seq(0, 150, 10))
grid.arrange(p1, p2, p3, p4, ncol = 2, nrow =2)
Utilisez scale_y_continuous pour supprimer les étiquettes sur l’axe Y dans R
Alternativement, nous pouvons supprimer complètement les étiquettes sur l’axe des y en utilisant la fonction scale_y_continuous. Pour cela, nous devons passer la valeur NULL comme paramètre breaks. Notez que nous dessinons deux graphiques pour comparaison visuelle avec la fonction grid.arrange.
library(ggplot2)
library(gridExtra)
p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_boxplot(fill = "cyan")
p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_boxplot(fill = "pink") +
scale_y_continuous(breaks = NULL)
grid.arrange(p3, p4, ncol = 2, nrow =2)
Utilisez scale_y_continuous pour modifier les étiquettes de l’axe Y avec des valeurs personnalisées dans R
Certaines des méthodes précédentes peuvent être mélangées pour former un formatage plus avancé de l’esthétique de l’axe y. Dans l’extrait de code suivant, nous spécifions explicitement plusieurs étiquettes à imprimer et définissons simultanément de nouvelles valeurs pour elles à l’aide du paramètre labels. Notez que les nouvelles valeurs sont simplement une notation numérique hexadécimale pour les nombres correspondants. Enfin, nous renommerons l’échelle de l’axe des y avec la chaîne donnée et l’axe des x, ce qui se fait à l’aide de la fonction scale_x_discrete.
library(ggplot2)
library(gridExtra)
p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_boxplot(fill = "cyan")
p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
geom_boxplot(fill = "pink") +
scale_y_continuous(
breaks = c(50, 60, 70, 80, 90, 100, 110),
labels = c("32", "3C", "46", "50", "5A", "64", "6E"),
name = "Decrease\n(hex)") +
scale_x_discrete(name = "Treatment")
grid.arrange(p3, p4, ncol = 2, nrow =2)