Как добавить субтитр к графику annotate_figure? - PullRequest
0 голосов
/ 30 сентября 2019

Я использую ggarrange и annotate_figure для отображения двух графиков рядом. В моем реальном коде у меня есть разные заголовки на каждом подзаголовке, но затем мне нужны общие заголовок и подзаголовок вверху всего графика.

Я понимаю, как добавить текст вверху, но как я могу добавить две строки, каждая с разными шрифтами (например, верхний заголовок должен быть большим / жирным, а вторая строка / субтитры должны быть меньше и регулярнеешрифт)?

Вот как я создаю название. Есть ли способ добавить text_grob к top?

library(tidyverse)
library(ggpubr)

df <- data.frame()
plot1 <- ggplot(df) + geom_point() + xlim(0, 10) + ylim(0, 100)
plot2 <- ggplot(df) + geom_point() + xlim(0, 10) + ylim(0, 100)

all.plots <- ggarrange(plot1, plot2)
annotate_figure(all.plots,
                top=text_grob("Antibiotic Effectiveness"))

1 Ответ

1 голос
/ 02 октября 2019

Вы можете использовать plotmath для создания выражения для text_grob. См. Plotmath.

library(tidyverse)
library(ggpubr)

df <- data.frame(x=runif(10,0,10), y=runif(10,0,100))
plot1 <- ggplot(df) + geom_point(aes(x=x, y=y)) + xlim(0, 10) + ylim(0, 100)
plot2 <- ggplot(df) + geom_point(aes(x=x, y=y)) + xlim(0, 10) + ylim(0, 100)

all.plots <- ggarrange(plot1, plot2)
# construct plotmath expression
title <- expression(atop(bold("Figure 1:"), scriptstyle("This is the caption")))
annotate_figure(all.plots,
                top=text_grob(title))

Создано в 2019-10-02 пакетом Представить (v0.3.0)

...