web-dev-qa-db-fra.com

Tracer un graphique linéaire, erreur dans les cordes xy (x, y, xlabel, ylabel, log): les longueurs 'x' et 'y' diffèrent

a<- c(2,2)
b<- c(3,4)
plot(a,b) # It works perfectly here

J'ai ensuite essayé:

t<-xy.coords(a,b)
plot(t) # It also works well here

Enfin, j'ai essayé:

plot(t,1)

Maintenant ça me montre:

Erreur dans les xy.coords (x, y, xlabel, ylabel, log): les longueurs "x" et "y" diffèrent

Cela ne fonctionne pas, à l'intérieur de t, les deux a et b sont de longueur 2, pourquoi cela me montre les longueurs x, y diffèrent?

8
ToBeGeek

plot(t) est dans ce cas le même que

plot(t[[1]], t[[2]])

Comme le message d'erreur le dit, la longueur de x et y diffère, car vous tracez une liste de longueur 4 par rapport à 1:

> length(t)
[1] 4
> length(1)
[1] 1

Dans votre deuxième exemple, vous tracez une liste avec des éléments nommés x et y, les deux vecteurs de longueur 2, donc plot trace ces deux vecteurs.

Éditer:

Si vous souhaitez tracer des lignes, utilisez

plot(t, type="l")
12
user1981275