我正在使用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"))
答案 0 :(得分:1)
您可以使用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))
由reprex package(v0.3.0)于2019-10-02创建