Antworten:
Verwenden:
+ scale_y_continuous(labels = scales::percent)
Oder, um Formatierungsparameter für den Prozentsatz anzugeben:
+ scale_y_continuous(labels = scales::percent_format(accuracy = 1))
(Der Befehl labels = percent
ist seit Version 2.2.1 von ggplot2 veraltet.)
scales::percent(accuracy = 1)
es nicht funktioniert, ist, dass die *_format()
Versionen eine Funktion erstellen, anstatt ... was auch immer percent()
alleine erstellt wird, ist das richtig?
Grundsätzlich können Sie jede Neuformatierungsfunktion an den labels
Parameter übergeben:
+ scale_y_continuous(labels = function(x) paste0(x*100, "%")) # Multiply by 100 & add %
Oder
+ scale_y_continuous(labels = function(x) paste0(x, "%")) # Add percent sign
Reproduzierbares Beispiel:
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
und scales
Pakete können das:
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)
Es scheint, dass die stat()
Option deaktiviert wurde und die Fehlermeldung verursacht. Versuche dies:
library(scales)
myplot <- ggplot(mtcars, aes(factor(cyl))) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels=percent)
myplot
In Anlehnung an @Deena oben ist diese Funktionsänderung für Beschriftungen vielseitiger als Sie vielleicht gedacht haben. Zum Beispiel hatte ich ein ggplot, bei dem der Nenner der gezählten Variablen 140 war. Ich habe ihr Beispiel folgendermaßen verwendet:
scale_y_continuous(labels = function(x) paste0(round(x/140*100,1), "%"), breaks = seq(0, 140, 35))
Dies ermöglichte es mir, meine Prozentsätze auf den Nenner von 140 zu bringen und dann die Skala in Schritten von 25% zu brechen, anstatt die seltsamen Zahlen, die standardmäßig verwendet wurden. Der Schlüssel hier ist, dass die Skalenumbrüche immer noch durch die ursprüngliche Anzahl und nicht durch Ihre Prozentsätze festgelegt werden. Daher müssen die Unterbrechungen von Null bis zum Nennerwert sein, wobei das dritte Argument in "Unterbrechungen" der Nenner geteilt durch die Anzahl der gewünschten Beschriftungsunterbrechungen ist (z. B. 140 * 0,25 = 35).
library(scales)
.