6

如何使用 ggtext 为拼凑而成的 ggplots 赋予丰富多彩的标题?

例子

假设我们有四个地块

library(ggplot2)
library(patchwork)
library(ggtext)

p1 <- ggplot(mtcars) + 
  geom_point(aes(mpg, disp)) + 
  ggtitle('Plot 1')

p2 <- ggplot(mtcars) + 
  geom_boxplot(aes(gear, disp, group = gear)) + 
  ggtitle('Plot 2')

p3 <- ggplot(mtcars) + 
  geom_point(aes(hp, wt, colour = mpg)) + 
  ggtitle('Plot 3')

p4 <- ggplot(mtcars) + 
  geom_bar(aes(gear)) + 
  facet_wrap(~cyl) + 
  ggtitle('Plot 4')

这些可以像这样安排

patch <- (p1 + p2) / (p3 + p4)
patch

在此处输入图像描述

拼凑而成的标题可以像这样

patch +
  plot_annotation(
  title = "Here is a regular title")

在此处输入图像描述

一个 ggplot 可以像这样被赋予一个丰富多彩的标题

p1 +
  ggtitle("Here <span style='color:#953011;'><strong>is a colourful title</strong></span>") +
  theme(plot.title = element_markdown(lineheight = 1.1)) 

在此处输入图像描述

拼凑而成的ggplots怎么能被赋予一个丰富多彩的标题。这是我不成功的尝试

patch +
  plot_annotation(
  title = "Here<span style='color:#953011;'><strong>is a colourful title</strong></span>") +
  theme(plot.title = element_markdown(lineheight = 1.1)) 

在此处输入图像描述

4

1 回答 1

8

plot_annotation有一个theme论点,所以你可以做

#remotes::install_github("wilkelab/ggtext")
library(ggplot2)
library(patchwork)
library(ggtext)

patch <- (p1 + p2)

patch +
  plot_annotation(
    title = "Here <span style='color:#953011;'><strong>is a colourful title</strong></span>",
    theme = theme(plot.title = element_markdown(lineheight = 1.1)))

在此处输入图像描述

于 2020-05-06T18:38:43.620 回答