我需要标记我的y轴,使其首先显示“Power”字样,然后是方括号中的表达式:[micro Volt square]。
我可以生成我想要的整个标签的单个部分,但是当我想要将它们组合时我会遇到问题:
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):
我哪里错了? paste()命令一般是错误的方法吗?我还看了一下unicode字符(Unicode Characters in ggplot2 PDF Output)......但是这仍然会让我想到如何充分结合所有单个术语。
非常感谢您的帮助!
答案 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