首页 > 解决方案 > 如何在 ggplot 刻面标签中添加绘图符号和换行符

问题描述

我可以在一个方面有一个绘图符号ggplot2,但这会删除换行符。例如:

library(tidyverse)

mpg %>% 
  mutate(
    v1 = c("V1%->%V2",
           "V3%->%V4") %>% 
      rep(each = 117),
    v2 = c("A~~long~~label~~with\n~~a~~line~~break",
           "Another~~long~~label\n~~with~~a~~line~~break") %>%
      rep(each = 117)
    ) %>% 
  ggplot(
    aes(displ, cty)
  ) +
  geom_point() +
  facet_grid(v2 ~ v1, labeller = label_parsed)

返回这个

在此处输入图像描述

它在列标签中有所需的符号,但从行分面中删除了换行符。

如何在不删除行中的换行符的情况下在列标签中包含箭头?

标签: rggplot2

解决方案


当您使用 plotmath 语法时,没有换行符之类的东西。相反,您可以使用atop()例如

mpg %>% 
  mutate(
    v1 = c("V1%->%V2",
           "V3%->%V4") %>% 
      rep(each = 117),
    v2 = c("atop('A long label with','a line break')",
           "atop('Another long label','with a line break')") %>%
      rep(each = 117)
  ) %>% 
  ggplot(
    aes(displ, cty)
  ) +
  geom_point() +
  facet_grid(v2 ~ v1, labeller = label_parsed)

推荐阅读