При частичном выделении заголовка в 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')
Был бы очень признателен за любое понимание решения этой проблемы.
Спасибо