Come possiamo cambiare l'asse y in percentuale come la figura? Posso cambiare la gamma dell'asse y ma non riesco a raggiungere la percentuale. Come modificare l'intervallo dell'asse y in percentuale (%) dal numero in plotter con R
28
A
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, "%") })
+1 per nessuna dipendenza esterna. So che poiché Hadley è l'autore di ggplot2 e scale, non dovrebbe davvero importare, ma questa soluzione è ancora apprezzata. –
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à. –