Réponses:
Utilisation:
+ scale_y_continuous(labels = scales::percent)
Ou, pour spécifier les paramètres de mise en forme pour le 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)
scales::percent(accuracy = 1)
ne fonctionne pas parce que les *_format()
versions créent une fonction au lieu de ... tout ce percent()
qui crée seul, est-ce exact?
En principe, vous pouvez passer n'importe quelle fonction de reformatage au labels
paramètre:
+ 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, "%"))
ggplot2
et les scales
packages 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' stat()
option a été supprimée, provoquant 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ée à @Deena ci-dessus, cette modification de fonction pour les étiquettes est plus polyvalente que vous n'auriez pu le penser. Par exemple, j'avais un ggplot où le dénominateur des variables comptées était 140. J'ai utilisé son exemple ainsi:
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 les nombres étranges auxquels elle était par défaut. La clé ici est que les sauts d'échelle sont toujours définis par le décompte d'origine, et non par vos pourcentages. Par conséquent, les ruptures doivent être comprises entre zéro et la valeur du dénominateur, le troisième argument dans "breaks" étant le dénominateur divisé par le nombre de ruptures d'étiquette que vous souhaitez (par exemple 140 * 0,25 = 35).
library(scales)
pour cela.