ggplot2标签:带有希腊符号和指数项的组合

6

我需要标记我的y轴,以便首先显示单词“Power”,然后是方括号内的表达式:[微伏平方]。

Power in micro Volt squared

我可以制作所需的标签单个部分,但当我想将它们组合时会遇到问题:
x <- 1:10; y <- 10:1; z <- data.frame(x,y)
g <- ggplot(z, aes(x,y) + geom_bar(stat='identity')

g + ylab('Power') # No problem
g + ylab(paste('Power [', ']')) #No problem
g + ylab(expression(mu)) # No problem
g + ylab(expression(V^2)) # No problem

然而,这似乎是不可能的:
g + ylab(paste('Power [', expression(mu), expression(V^2), ']'))

输出不会评估表达式(mu和V^2):

ggplot2 Output:Problem y label

我哪里做错了?总体而言,使用paste()命令是错误的方法吗?我还查看了Unicode字符(ggplot2 PDF输出中的Unicode字符)...但这仍然让我有一个问题,如何充分结合所有单个术语。非常感谢您的帮助!
2个回答

6

你需要将所有内容放入表达式中。 你可以使用星号进行分隔,波浪线用于空格。因此这应该是正确的。

g + ylab(expression("Power"~"["*mu*V^2*"]"))

3
一条简单的表达式似乎就能解决问题:
g + ylab(expression(paste("Power [",mu, V^2,"]")))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接