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