我想制作一个我的数据集的轨迹图,如X,Y的散点图,但数据点使用箭头(箭头指向下一个位置)与一条线连接
我的数据如下:
A T X Y V GD ND ND2 TID
1 1 3.88 2.7 675.0 27.000 27.000 NA NA t1
2 1 3.92 2.7 677.7 42.691 69.691 2.7 7.29 t1
3 1 3.96 2.7 675.0 55.662 125.353 0.0 0.00 t1
4 1 4.00 2.7 675.0 55.662 181.015 0.0 0.00 t1
5 1 4.04 2.7 675.0 55.662 236.677 0.0 0.00 t1
6 1 4.08 2.7 680.4 42.691 279.368 5.4 29.16 t1
我尝试使用qplot来实现它:
qplot(X, Y, data = sub.data1, color = TID, group = TID)+
geom_line(linetype=5, size=1.5, arrow=arrow(angle=15, ends="both", type="closed"))+
geom_point (shape=19, size=5, fill="black")
这没关系,它有效。只是我想在我的情节箭头中指出指向下一个数据点的点。 任何帮助都会很棒! 谢谢!
答案 0 :(得分:2)
我认为您想要探索geom_path和geom_segment属性。见http://docs.ggplot2.org/current/geom_segment.html 和 http://docs.ggplot2.org/current/geom_path.html
例如,我可以拍摄您的情节,只需将线条更改为路径,按照它们在表格中呈现的顺序而不是X轴来连接点:
library("ggplot2")
library(grid) # needed for arrow function
library(data.table)
# see http://docs.ggplot2.org/current/geom_segment.html
df <- data.frame(a=c(1,2,3,4,5,6),T=c(3.88,3.92,3.96,4.00,4.04,4.08),X=c(2.7,2.9,2.7,2.0,2.7,2.0),Y=c(675.0,600.7,675.0,690.0,675.0,680.4),V=c(27.0,42,55,55,55,42),GD=c(27,70,125,181,236,279),ND=c(NA,2.7,0,0,0,5.4),ND2=c(NA,7,0,0,0,29.2),TID="t1")
qplot(X, Y, data = df, color = TID, group = TID)+
geom_path(linetype=5, size=1.5, arrow=arrow(angle=15, ends="both", type="closed"))+
geom_point (shape=19, size=5, fill="black")