在r中使用atop函数时获得恒定的文本大小

时间:2018-11-10 02:59:44

标签: r ggplot2 tidyverse plotmath

下面是我编写的复杂自定义函数的简单得多的示例。在此函数的全长形式中,

  • "layer1"对应于用户输入的caption
  • "layer2" 对应于统计测试的结果,并且
  • "layer3" 对应于进行的统计测试的详细信息。

但是当标题中包含所有三层时,它看起来像这样-

library(ggplot2)

ggplot(iris, aes(Species, Sepal.Length)) +
  geom_boxplot()  +
  labs(caption = substitute(atop(substitute(
    atop("layer1", "layer2")
  )
  , "layer3")))

reprex package(v0.2.1)于2018-11-09创建

所以我想找出一种方法,可以使所有三个图层的文本大小保持不变。我实际上不确定为什么文本大小会在这种情况下自动更改。

有什么办法可以防止这种情况的发生?

1 个答案:

答案 0 :(得分:3)

我对情节中的“替代”有些困惑,但是也许以下方法可以解决问题:

ggplot(iris, aes(Species, Sepal.Length)) +
  geom_boxplot()  +
  labs(caption = substitute(atop(
    atop(displaystyle("layer1"), displaystyle("layer2")), "layer3")))

enter image description here