#r #ggplot2 #annotate #plotmath #ggtext
#r #ggplot2 #аннотировать #plotmath #ggtext
Вопрос:
Я пытаюсь использовать функции bold()
and 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("Titlen")), 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)
Комментарии:
1. Однако он не может подчеркнуть. Возможно, к лучшему. Подчеркивание — это пережиток времен пишущих машинок, и его обычно следует избегать.