这与这个问题类似 How to use superscript with ggplot2
但我在变量中有一个字符串,而不是标签的硬编码值,我需要将“mm^3”附加到字符串并在 ggplot
中显示它。
我有这样的代码:
genericPlot <- genericPlot + labs(y = wrap(ylab, wrap.length))
#' Wrap
#'
#' @param x character, values to be wrapped
#' @param width numeric, max number of characters
#'
#' @return Wrapped x
wrap <- function(x, width) {
sapply(
X = x,
FUN = function(x) paste(strwrap(x, width = width), collapse = "\n"))
}
我试过用这个:
paste(ylab, bquote(~mm^3))
但这给了我带有 2 个元素的向量:
[1] "foo ~" "foo mm^3"
最佳答案
你们很亲密!不要使用 paste
使用 .(VAR)
从 bquote
调用变量。
library(ggplot2)
ylab <- "foo"
myX <- "bar"
ggplot() +
ylab(bquote(.(ylab) *" ~ "* mm^3)) +
xlab(bquote(.(myX) *" ~ "* kg^2))
关于r - 如何将上标附加到变量以显示在 ggplot 轴中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46829109/