2014-12-11 10 views

risposta

24

ggplot2 e scales pacchetti possono farlo:

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) 

sembra che l'opzione stat() è stato tolto, causando il messaggio di errore. Prova questo:

library(scales) 

myplot <- ggplot(mtcars, aes(factor(cyl))) + 
      geom_bar(aes(y = (..count..)/sum(..count..))) + 
      scale_y_continuous(labels=percent) 

myplot 
63

labels = percent è obsoleta nella versione più recente di ggplot2 (2.2.1). Il comando ora è:

+ scale_y_continuous(labels = scales::percent) 
10

Nel caso in cui non vi resta che aggiungere il %, senza moltiplicando per 100:

+ scale_y_continuous(labels = function(x){ paste0(x, "%") })

+0

+1 per nessuna dipendenza esterna. So che poiché Hadley è l'autore di ggplot2 e scale, non dovrebbe davvero importare, ma questa soluzione è ancora apprezzata. –

+1

Sottotitoli per sintassi minore: per le funzioni one-liner, come spesso accade per le funzioni anonime come questa, non sono necessarie parentesi: 'function (x) paste0 (x,"% ")' farà. –

Problemi correlati