Change geom_text to bold when parse=TRUE

you can get r to be bold()

lab <- sprintf("bold(r)^2 == %.2f", big_data$rsq)

but that's about it. From ?plotmath

Note that bold, italic and bolditalic do not apply to symbols, and hence not to the Greek symbols such as mu which are displayed in the symbol font. They also do not apply to numeric constants.

Your best bet for finer typography might be tikzDevice.


A little cheat - over plotting the text 3 times with slight increases in size.

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) +
  facet_wrap(~Species,scales='free_x')+
  geom_point(size=3,show.legend = F) +
  geom_text(aes(x=pos,y=1,label=as.character(lab)),parse=TRUE,data=big_data,size=4)+
  geom_text(aes(x=pos,y=1,label=as.character(lab)),parse=TRUE,data=big_data,size=4.07)+
  geom_text(aes(x=pos,y=1,label=as.character(lab)),parse=TRUE,data=big_data,size=4.08)

enter image description here