This is a convenience function to plot multiple pieces of text at the same time. It cannot
handle mathematical expressions, though. For those, use draw_label
.
draw_text(text, x = 0.5, y = 0.5, size = 14, hjust = 0.5, vjust = 0.5, ...)
A vector of Character (not expressions) specifying the string(s) to be written.
Vector of x coordinates.
Vector of y coordinates.
Font size of the text to be drawn.
(default = 0.5)
(default = 0.5)
Style parameters, such as colour
, alpha
, angle
, size
, etc.
Note that font sizes are scaled by a factor of 2.85, so sizes agree with those of
the theme. This is different from geom_text
in ggplot2.
By default, the x and y coordinates specify the center of the text box. Set hjust = 0, vjust = 0
to specify
the lower left corner, and other values of hjust
and vjust
for any other relative location you want to
specify.
For a full list of ... options, see geom_label
.
# Draw onto a 1*1 drawing surface
ggdraw() + draw_text("Hello World!", x = 0.5, y = 0.5)
#
# Adorn a plot from the Anscombe data set of "identical" data.
library(ggplot2)
p <- ggplot(anscombe, aes(x1, y1)) + geom_point() + geom_smooth()
three_strings <- c("Hello World!", "to be or not to be", "over and out")
p + draw_text(three_strings, x = 8:10, y = 5:7, hjust = 0)
#> `geom_smooth()` using method = 'loess' and formula = 'y ~ x'