Comment pouvons-nous changer l'axe des ordonnées en pourcentage comme le chiffre? Je peux modifier la plage de l'axe des y, mais je ne peux pas atteindre un pourcentage.
Utilisation:
+ scale_y_continuous(labels = scales::percent)
Ou, pour spécifier les paramètres de formatage du pourcentage:
+ scale_y_continuous(labels = scales::percent_format(accuracy = 1))
(la commande labels = percent
est obsolète depuis la version 2.2.1 de ggplot2)
En principe, vous pouvez transmettre toute fonction de reformatage au paramètre labels
:
+ scale_y_continuous(labels = function(x) paste0(x*100, "%")) # Multiply by 100 & add %
Ou
+ scale_y_continuous(labels = function(x) paste0(x, "%")) # Add percent sign
Exemple reproductible:
library(ggplot2)
df = data.frame(x=seq(0,1,0.1), y=seq(0,1,0.1))
ggplot(df, aes(x,y)) +
geom_point() +
scale_y_continuous(labels = function(x) paste0(x*100, "%"))
Les packages ggplot2
et scales
peuvent le faire:
y <- c(12, 20)/100
x <- c(1, 2)
library(ggplot2)
library(scales)
myplot <- qplot(as.factor(x), y, geom="bar")
myplot + scale_y_continuous(labels=percent)
Il semble que l'option stat()
ait été supprimée, ce qui a provoqué le message d'erreur. Essaye ça:
library(scales)
myplot <- ggplot(mtcars, aes(factor(cyl))) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels=percent)
myplot
Emprunté à @Deena ci-dessus, cette modification de fonction pour les étiquettes est plus polyvalente que vous ne le pensiez. Par exemple, j'avais un ggplot où le dénominateur des variables comptées était 140. J'ai utilisé son exemple comme suit:
scale_y_continuous(labels = function(x) paste0(round(x/140*100,1), "%"), breaks = seq(0, 140, 35))
Cela m’a permis d’obtenir mes pourcentages sur le dénominateur 140, puis de casser l’échelle par incréments de 25% plutôt que par les nombres étranges auxquels elle était par défaut. La clé ici est que les coupures d’échelle sont toujours définies par le nombre initial, et non par vos pourcentages. Par conséquent, les sauts doivent être compris entre zéro et le dénominateur, le troisième argument de "sauts" étant le dénominateur divisé par le nombre de sauts d’étiquettes souhaité (par exemple, 140 * 0,25 = 35).