RPy2 robjects.r.pie 报错“'x' 值必须为正”

1 投票
1 回答
683 浏览
提问于 2025-04-17 02:20

我觉得自己有点傻,但我就是搞不明白这个问题。我想用Python中的rpy2库来制作一个饼图。

from rpy2.robjects import r
import os.path

image = "test.png"
values = [0.5, 0.5]

print "using R"
r.png(image, width=100, height=100)
r.pie(values)
r.dev_off()

现在,如果我直接在R语言中做同样的事情,我知道我需要这个:

values <- (0.5, 0.5)
pie(values)

在R解释器中,这个可以正常工作。我试着在Python中用元组代替列表,但得到了一个错误提示:ValueError: Nothing can be done for the type <type 'tuple'> at the moment.

在Python中,哪个类型对应于R语言的向量?我需要使用numpy吗?

1 个回答

1

[注意:你的R代码似乎不太正确。你可能是想要

values <- c(0.5, 0.5)

使用c()这个函数很重要;见下文]

目前,rpy2并不会自动猜测你想如何在R中表示一个Python的列表或元组。这一点可以在rpy2的文档中找到。

你可以使用R的函数c()或者rpy2的类FloatVector

撰写回答