0

如何"$\alpha$ + $\beta$ is my label"在 Rpy2 中的 ggplot2 图中制作 x 或 y 标签?我试过在情节上使用任何希腊字母r.expression

p = ggplot2.ggplot(mydata) + r.xlab(r.expression("alpha")) 

但这不起作用。希腊字母如何与常规文本一起绘制?

4

1 回答 1

3

Rexpression()接受对象、调用或表达式并返回一个表达式(这是一种操作未计算代码的方法)。expression("alpha")返回字符串"alpha"(就像写在 R 中一样expression("alpha")

获取表达式的一种方法是解析字符串。在问题中使用您的示例:

from rpy2.rinterface import parse
p = ggplot2.ggplot(mydata) + scale_x_continuous(parse("alpha")) 

如果您想将表达式(即语法上有效的 R 代码)与一般文本(无法解析为代码的内容,例如使用空格和标点符号)混合使用,则必须paste() 代码中使用 R 来解析(这可能看起来很深奥,但这也是在 R 中必须这样做的方式):

p = ggplot2.ggplot(mydata) + \
    ggplot2.scale_x_continuous(parse('paste(alpha, " and ", beta)'))
于 2013-04-25T21:23:35.323 回答