按行顺序绘制线条的ggplot折线图

7

我正在制作一个ggplot线图,或者更好的描述是一个散点图,连接点的方式是指定的。这是我的示例数据:

X<-c(-37,-25,-27,4,20,30,22,10)
Y<-c(-5,-9,10,15,-13,-0.04,4,0.03)
Day<-c(1,2,3,4,5,6,7,8)
DF<-data.frame(X,Y,Day)

目标是绘制X Y坐标点,并按时间顺序连接这些点(第1天连接到第2天,第2天连接到第3天,以此类推)。如果我这样绘制:

ggplot(DF,aes(x=X, y=Y, label=Day),legend=FALSE)+
geom_line(,size=0.3)+
geom_point( fill='red', shape=21)+
geom_text(size=7)+
theme_bw()

enter image description here

但是可以看到,这些点逐渐沿着X轴连接起来(Day 1连接到Day 3,Day 3连接到Day 2等)。有没有办法将ggplot线图的默认设置更改为按照“Day”列中的模式进行排列?或者,按照DF中行的顺序进行排序(两者应该产生相同的结果)?

1个回答

16

利用您的数据,

ggplot(DF, aes(x=X,y=Y))+geom_point()+geom_path()

生成这个,听起来像是您正在询问的内容(??)


3
重点在于 geom_path 将按照传递给它的数据框的顺序进行绘制。 - joran
1
通过额外的预防措施 DF <- DF[order(DF$Day),],确保你的数据集是有序的。 - TheComeOnMan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接