2017-03-29 5 views
4

Ich muss eine Stelle in einem ggplot2-Diagramm mit einer Zeile kommentieren, die sowohl einen (echten) griechischen Buchstaben als auch eine auf 2 Dezimalstellen gerundete Zahl enthält. Mein Problem tritt auf, weil ich die Dezimalstellen anzeigen möchte, auch wenn sie beide Null sind. Die parse = T Einstellung in annotate konvertiert leider die Zeichenfolge "1.00" in "1". Hier ist ein konkretes Beispiel:Beenden Zero Zero nach Dezimalstellen in Annotate ggplot2

alpha_num <- "1.00" 
p <- ggplot(data.frame(x=1,y=1,label=paste0("alpha == ", alpha_num))) 
p <- p + geom_text(aes(x,y,label=label), parse = TRUE, size = 30) 

Der obige Code erzeugt die folgende Handlung: annotate is parsing out my zeros

Wie erhalte ich alpha_num in seiner Gesamtheit angezeigt?

+0

Art Duplikat von [dieser Beitrag] (http://stackoverflow.com/questions/ 25108062/how-to-write-nach-dezimal-zero-in-ggplot-geom-text) aber die Antwort unten ist viel besser. –

Antwort

3

Sie können es mit der Verwendung von deparse tun.

So sieht der Code wie folgt

alpha_num <- "1.00" 
p <- ggplot(data.frame(x=1,y=1,label=paste0("alpha == ", alpha_num))) 
# Use deparse in label 
p <- p + geom_text(aes(x,y,label=paste0("alpha == ", deparse(alpha_num))), parse = TRUE, size = 30) 
p 

Und der Ausgang ist:

enter image description here

+1

So viel besser als [hier] (http://stackoverflow.com/questions/25108062/how-to-write-after-decimal-zero-in-gplot-geom-text)! –