我在尝试将 Python 列表传递给 R 图例调用以使用 rpy2 进行绘图时遇到问题。我从现有字典中生成文本名称及其对应符号的列表,如下所示:
dataDict = {'data':{...},
'symbols':{'xylem':14,'groundwater':17,'lagoon':16,'stream':15}}
nameListForLegend = [name for name in dataDict["symbols"]]
symbolListForLegend = [dataDict['symbols'][category] \
for category in dataDict['symbols']]
nameListForLegend 变量在调用中起作用,但 symbolListForLegend 不起作用:
r.legend(1.5, -42, nameListForLegend,
pch = symbolListForLegend,cex=3,col="black",border = 0)
我尝试将其作为 R 对象传递,并使用 hacky 解决方案,例如:
#after converting each list element to a string
symbolListString = ",".join(symbolListForLegend)
symbolListForLegend = robjects.r('list('+symbolListString+')')
全部返回:
RRuntimeError: Error in plot.xy(xy.coords(x, y), type = type, ...) :invalid plotting symbol
通常情况下,我在这里遗漏了一些简单的东西。任何对适当文档的帮助或指导将不胜感激。
谢谢你。