【发布时间】:2019-04-13 20:26:49
【问题描述】:
这是我上一个问题 (getting constant text size while using atop function in r) 的第二部分。
现在的问题与我如何防止 plotmath 使文本居中以避免多余的间距有关(此处以黄色突出显示)。我希望一切都与情节的右侧对齐。
(很遗憾,如果您的建议是这样的话,我无法将 substitute 替换为 expression。)
有什么建议吗?
library(ggplot2)
ggplot(iris, aes(Species, Sepal.Length)) +
geom_boxplot() +
labs(caption = substitute(atop(
atop(
displaystyle("layer1 is small"),
displaystyle("layer2 is a bit longer")
),
"layer3 is super-duper longgggggggg"
)))
【问题讨论】:
-
相关问题已经很少(参见 plotmath alignment)。例如,可以接受像stackoverflow.com/questions/35781950/… 中那样手动添加空格吗?与其实际手动尝试不同数量的空格,不如将其自动化。
-
是的,但问题是他们都使用
expression来创建标题,而我使用的是substitute。当然,提供的解决方案不适用于substitute。 (如果您想知道为什么对substitute如此着迷,这就是我使用它的那种背景-github.com/IndrajeetPatil/ggstatsplot/blob/…) -
所以我想问题是文本不是固定长度的。您为什么不稍微更新一下您的示例,例如手动添加 30 个空格并不能解决问题?那我试试看。
-
layer 2和layer 3中的文本是固定长度的,这样很容易修复。layer 1会有所不同,因为用户可以选择输入任意长度的caption。