При частичном выделении заголовка в ggplot2 с помощью element_markdown и вставке в PowerPoint с помощью officeR слова не выравниваются

Моя цель проста: я хочу создать заголовок в ggplot2, в котором некоторые слова выделены жирным шрифтом, а некоторые нет, а затем использовать OfficeR, чтобы добавить его в объект Powerpoint и распечатать указанный объект.

Однако каждый раз, когда я пытаюсь сделать это, каждое слово в заголовке PowerPoint представляет собой собственное текстовое поле. Это было бы хорошо, за исключением того, что одно слово всегда выровнено неправильно. Я регулярно просматриваю тысячи таких графиков, поэтому настраивать вручную непрактично.

Я пробовал использовать ggtitle, element_markdown, atop, bquote и т. Д. Ни одно решение не помогло. Обратите внимание, что я также пробовал другие подходы с использованием других стилей уценки.

Вот образец кода (извиняюсь за внешний вид графика, здесь это не важно)

       library(ggtext); library(ggplot2); library(officer)
 p <- ggplot2::ggplot() + 
  geom_line(data = mtcars, 
            aes(x = mpg, y = cyl, color = am, group = am),size = 2 ) + 
  #Standard Theme Elements
  theme(plot.title = element_markdown(size = 16, hjust = -0, face = 'bold',  family = 'Calibri'))+
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        panel.background = element_blank(), axis.line = element_line(colour = "black"),
        legend.key.height = unit(0.25, "cm"),
        legend.position = c(0.85,1),
        legend.key = element_blank(),
        plot.title.position = "plot",
        plot.subtitle = element_text(size = 10.5, hjust = 0, family = 'Calibri', margin=margin(0,0,25,0)),
        axis.title.x=element_blank(), axis.title.y=element_blank(),
        axis.text.x = element_text(hjust=0.5),
        text=element_text(size=11),
  ) + 
  #Title
  labs(title =paste("<b>Bold Title</b> <i>not bold part</i>")
       ,subtitle = 'Some Subtitle')  

p_dml <- rvg::dml(ggobj = p)
pptx_test <- officer::read_pptx()

pptx_test <- pptx_test %>%
  add_slide(layout = "Title and Content", master = "Office Theme") %>% 
  officer::ph_with(p_dml, ph_location(left = 0, top = 1, width = 5, height = 3))

print(pptx_test,'~/Desktop/test.pptx')

Был бы очень признателен за любое понимание решения этой проблемы.

Спасибо

0 ответов

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