Как выделить часть аннотации ggplot2 жирным шрифтом и подчеркнуть ее?

Я пытаюсь использовать bold() и underline() функции от grDevices в пределах paste()для создания аннотации со стилизованным, жестко закодированным "заголовком" с разрывом строки, за которым следует строка, которая может состоять из одной или нескольких строк, и я изо всех сил пытаюсь это сделать. (Это делается в ShinyApp, поэтому я не могу жестко закодировать две смежные аннотации, потому что количество строк в строке будет варьироваться в зависимости от ввода пользователя.)

       library(ggplot2)
library(grDevices)

mydata <- data.frame(Strings = c("This is a list of strings", 
                                 "They could be \n one line long",
                                 "Or they could \n be several lines \n long"),
                     NumberOfLines = c(1, 2, 3))

rowposition <- sample(1:3, 1)

mystring <- mydata$Strings[rowposition]

emptydataframe <- data.frame()

ggplot(emptydataframe) +
  geom_blank() +
  annotate("text", x = 8, y = -4,
           label = paste(bold(underline("Title\n")), mystring),
           size = 3)

Буду признателен за любую оказанную помощь.

1 ответ

Используя ggtext пакет:

       library(ggtext)
ggplot(emptydataframe) +
  geom_blank() +
  annotate("richtext", x = 8, y = -4,
           label = paste("<b>Title</b><br>", mystring),
           size = 3)

Другие вопросы по тегам