2012-11-17 2 views
0

Je suis en train de tracer une ECDF en utilisant les commandes suivantes Mais quand je lance le script que je reçois cette erreurajoutant la légende lors du traçage avec rpy2

1: In rect(left, top, r, b, angle = angle, density = density, ...) : 
    supplied color is not numeric nor character 
2: In rect(left, top, r, b, angle = angle, density = density, ...) : 
    supplied color is not numeric nor character 

Mon code est:

import rpy2.robjects as robj 
ce=robj.FloatVector(range(1,100,1)) 
le=robj.FloatVector(range(5,500,2)) 
label="score" 
l1="a" 
l2="b" 

robj.r["plot.ecdf"](ce,main="",verticals=True,pch=46,col="grey",xlab=label) 
robj.r["plot.ecdf"](le,verticals=True,pch=46,col="red",add=True) 
robj.r.legend("topleft",legend=[l1,l2],fill=["grey","red"]) 

Des idées?

+0

Ce code échouera assez rapidement car il manque les définitions de 'ce',' label', 'le' et' statistic'. Pouvez-vous l'amender pour devenir [reproductible] (http://sscce.org/#selfcon)? Merci! – phihag

Répondre

1

Corrigez les listes Python dans votre appel à legend. Par exemple, fill devrait être fill=robj.StrVector(["grey", "red"])

Questions connexes