2017-09-11 1 views
0

disons que nous avons x1=c(6,3,5,4,3,7) et x2=c(5,2,1,7,5,2), je veux créer une parcelle comme:comment créer plusieurs lignes tracer en r

enter image description here

où l'axe X est seulement x1 et x2 et l'axe Y est le valeur correspondante. comment puis-je le faire en R? thx

+0

« Où l'axe X est seulement x1 et x2 et l'axe Y est la valeur correspondante. » Qu'est-ce que cela signifie? Il se lit comme vous voulez les valeurs x1 et x2 sur l'axe X, alors que se passe-t-il sur l'axe Y? Je pense que vous devriez donner plus d'informations, ou réécrire votre question. – CCD

+0

@CCD, je veux dire que l'axe X a seulement deux valeurs, y compris x1 et x2. L'axe Y est la valeur correspondante de x1 et x2 qui créent une ligne entre eux. – Cina

Répondre

4
plot(1, 1, xlim = c(1,2), 
    ylim = range(c(x1, x2)), type = "n", xaxt = "n") 
axis(side = 1, at = 1:2, labels = 1:2) 
segments(x0 = 1, y0 = x1, x1 = 2, y1 = x2) 
points(x = rep(1, length(x1)), y = x1) 
points(x = rep(2, length(x2)), y = x2) 

enter image description here

2

d'abord créer une surface vide traçage

plot(0,0, xlim=c(0,1), ylim=range(c(0, x1,x2)), type="n", xaxt="n") 
axis(side=1, at=c(0,1), labels=c("x1","x2")) 

ajouter ensuite dessiner les segments

segments(0, x1, 1, x2) 

et les points éventuellement

points(rep(0, length(x1)), x1); 
points(rep(1, length(x2)), x2) 

Si vous souhaitez utiliser ggplot, il serait plus judicieux de changer le format de données si

dd <- data.frame(id=seq_along(x1), x1=x1, x2=x2) 
library(ggplot2) 
ggplot(dd) + geom_segment(aes(y=x1, yend=x2), x=0, xend=1)