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

时间:2016-01-17 10:10:44

标签: r ggplot2

我需要标记我的y轴,使其首先显示“Power”字样,然后是方括号中的表达式:[micro Volt square]。

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字符(Unicode Characters in ggplot2 PDF Output)......但是这仍然会让我想到如何充分结合所有单个术语。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

您需要将所有内容放在表达式中。 您可以使用星号进行分隔,代字号是空格。所以这应该是正确的。

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

答案 1 :(得分:2)

单个def suma(i,l): if i == 0: return 0 else return suma(i-1,l)+l[i-1] 似乎可以解决问题:

expression