Python 通过Rpy2在ggplot2图形中绘制希腊字母和纯文本

Python 通过Rpy2在ggplot2图形中绘制希腊字母和纯文本,python,ggplot2,rpy2,Python,Ggplot2,Rpy2,如何在Rpy2内的ggplot2绘图中制作x或y标签,如“$\alpha$+$\beta$是我的标签”?我试着用r.expression获取绘图上的希腊字母: p = ggplot2.ggplot(mydata) + r.xlab(r.expression("alpha")) 但这是行不通的。希腊字母如何与常规文本一起打印?R的expression()接受对象、调用或表达式并返回表达式(这是处理未赋值代码的一种方法)expression(“alpha”)返回字符串“alpha”(与在Rexp

如何在Rpy2内的ggplot2绘图中制作x或y标签,如“$\alpha$+$\beta$是我的标签”?我试着用
r.expression
获取绘图上的希腊字母:

p = ggplot2.ggplot(mydata) + r.xlab(r.expression("alpha")) 
但这是行不通的。希腊字母如何与常规文本一起打印?

R的
expression()
接受对象、调用或表达式并返回表达式(这是处理未赋值代码的一种方法)
expression(“alpha”)
返回字符串
“alpha”
(与在R
expression(“alpha”)
中编写类似)

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

from rpy2.rinterface import parse
p = ggplot2.ggplot(mydata) + scale_x_continuous(parse("alpha")) 
如果您想将表达式(即语法上有效的R代码)与一般文本(不能作为代码解析的内容,比如使用空格和标点符号)混合使用,您必须 在要解析的代码中使用R的
paste()
(这可能看起来很深奥,但这是一种方法) 也必须在R中执行此操作):

R的
expression()
接受对象、调用或表达式并返回一个表达式(这是一种处理未赋值代码的方法)。
expression(“alpha”)
返回字符串
“alpha”
(就像在R
表达式(“alpha”)
中编写一样)

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

from rpy2.rinterface import parse
p = ggplot2.ggplot(mydata) + scale_x_continuous(parse("alpha")) 
如果您想将表达式(即语法上有效的R代码)与一般文本(不能作为代码解析的内容,比如使用空格和标点符号)混合使用,您必须 在要解析的代码中使用R的
paste()
(这可能看起来很深奥,但这是一种方法) 也必须在R中执行此操作):


谢谢-但是如何将它与未解析的文本结合起来呢?如果我尝试
scale\u x_continuous(解析(“alpha”)+”和“+parse(“beta”)
我会得到混合类型的错误:
TypeError:不支持的操作数类型对于+:'rpy2.rinterface.SexpVector'和'str'
@user248237dfsf-我编辑了答案以涵盖这种情况。谢谢-但是如何将其与未解析的文本结合起来?如果我尝试
缩放x_连续(解析(“alpha”)+”和“+解析(“beta”)
我得到的错误是混合了类型:
类型错误:不支持的操作数类型对于+:'rpy2.rinterface.SexpVector'和'str'
@user248237dfsf-我编辑了答案以涵盖这种情况。