I am trying to label points in ggplot using geom_text. I would like to use R mathematical notation for the labelling. For example, a point at the x-coordinate 0.5 should have the label 1/2=0.5, where 1/2 is written as a fraction. I have been trying this code:
ggplot(data=NULL)
geom_point(aes(x=0.5, y=0))
geom_text(aes(x=0.5, y=-0.1,
label = paste("frac(1,2)"," = ", 1/2)), parse=TRUE)
xlim(-1,1)
ylim(-1, 1)
However, the order of the label is messed up, as the picture below shows:
Instead of 1/2=0.5, I receive =(1/2,0.5). How can I obtain the correct order when using frac() in my label text?
CodePudding user response:
Place label outside aes and use double ==, like it is said in help("plotmath").
ggplot(data=NULL)
geom_point(aes(x=0.5, y=0))
geom_text(aes(x=0.5, y=-0.1),
label = paste("frac(1, 2) == ", 1/2), parse=TRUE)
xlim(-1,1)
ylim(-1, 1)
CodePudding user response:
Your label should be placed outside of aes().
ggplot(data=NULL)
geom_point(aes(x=0.5, y=0))
geom_text(aes(x=0.5, y=-0.1),
label = expression(paste(frac(1,2), " = ", 0.5)))
xlim(-1,1)
ylim(-1, 1)



