Keeping trailing zeroes with plotmath

ggplot2, plotmath, r

Solution

It is an `plotmath` expression parsing problem; it's not `ggplot2` related.

What you can do is ensure that `0.50` is interpreted as a character string, not a numeric value which will be rounded:

ggplot(data=df, aes(x=x, y=y)) +
    geom_point() +
    annotate(geom="text", x=1, y=1, label="rho=='-0.50'", parse=T)

You would get the same behavior using `base`:

plot(1, type ='n')
text(1.2, 1.2, expression(rho=='-0.50'))
text(0.8, 0.8, expression(rho==0.50))

If you want a more general approach, try something like

sprintf('rho == "%1.2f"',0.5)

There is an r-help thread related to this issue.

Problem

I'm using `annotate()` to overlay text on one of my `ggplot2` plots. I'm using the option `parse=T` because I need to use the Greek letter rho. I'd like the text to say `= -0.50`, but the trailing zero gets clipped and I get `-0.5` instead. Here's an example: ``` library(ggplot2) x<-rnorm(50) y<-rnorm(50) df<-data.frame(x,y) ggplot(data=df,aes(x=x,y=y))+ geom_point()+ annotate(geom="text",x=1,y=1,label="rho==-0.50",parse=T) ``` Does anyone know how I can get the last 0 to show up? I thought I could use `paste()` like this: ``` annotate(geom="text",x=1,y=1,label=paste("rho==-0.5","0",sep=""),parse=T) ``` but then I get the error: ``` Error in parse(text = lab) : <text>:1:11: unexpected numeric constant 1: rho==-0.5 0 ^ ```

Original source