points de connexion avec lignes en gtplot2 en r
Voici mes données:
mydata <- data.frame (grp = c( 1, 1, 1, 1, 1, 1, 1, 1, 1,
2,2, 2, 2,2, 2, 2, 2, 2),
grp1 = c("A", "A", "A", "A", "A", "B", "B", "B", "B" ,
"A", "A", "A", "A", "B", "B", "B", "B", "B"),
namef = c("M1", "M3", "M2", "M4", "M5","M1", "M3", "M4",
"M0", "M6", "M7", "M8", "M10", "M6", "M7", "M8", "M9", "M10"),
dgp = c(1, 1, 1, 1, 1, 1.15, 1.15,1.15, 1.15 ,
2, 2, 2, 2,2.15, 2.15, 2.15, 2.15, 2.15),
position = c(1.1, 2.1, 3.2, 4.1, 5.0,
1.1, 2.0, 5.0, 6.2, 1.0,3.0, 4.1, 5.0,
1.0, 2.1, 3.01, 4.0, 5.02))
require(ggplot2)
plt <- ggplot(mydata) + geom_point(aes(position, dgp,
group = factor(dgp)), size = 2, colour = "purple") +
geom_text(data = mydata,aes(x=position,y=dgp + 0.05,
label=namef))
plt
je veux connecter le point avec la même étiquette de la variable namef.
je pensais que geom_segment est approprié pour gérer la situation:
require(grid)
plt + geom_segment(aes(xend = position, yend = dgp),
arrow = arrow(length = unit(0.1,"cm")))
18
demandé sur
jon
2012-07-10 04:06:25
1 réponses
geom_line
reliera les points selon le group
esthétique, donc:
ggplot(mydata, aes(position, dgp, group = namef)) +
geom_point(size = 2, colour = "purple") +
geom_line() +
geom_text(data = mydata,aes(x=position,y=dgp + 0.05, label=namef))
vous obtient ceci:
en outre, il est généralement préférable de mettre le aes()
appel à votre appel ggplot
, et ensuite seulement ajouter un aes()
ou data
argument vers les différents geoms si vous devez outrepasser
certains d'esthétique.
17
répondu
Marius
2012-07-10 00:25:32