我有以下数据:
month eD_data eD_model
1 10.6 10.57456047
1 10.6 10.56613913
1 10.6 10.55792205
1 10.6 10.54991164
1 10.6 10.54211029
1 10.6 10.53452031
1 10.6 10.52714394
1 10.6 10.51998337
1 10.6 10.51304073
1 10.6 10.50631807
2 10.4 10.41738606
2 10.4 10.41613442
2 10.4 10.41513148
2 10.4 10.41437754
2 10.4 10.41387281
2 10.4 10.41361745
2 10.4 10.41361153
2 10.4 10.41385505
2 10.4 10.41434794
2 10.4 10.45139153
2 10.4 10.45580457
3 10.2 10.47581204
3 10.2 10.48139532
3 10.2 10.48720795
3 10.2 10.49324822
3 10.2 10.49951433
3 10.2 10.50600444
3 10.2 10.51271661
3 10.2 10.51964885
3 10.2 10.52679912
3 10.2 10.53416529
3 10.2 10.63854333
3 10.2 10.64849527
其他月份的数据仍有12个。但这里是捷径。我想要的是制作一个情节,但x轴,即月份,从7月开始(7) 这是我的代码:
a<-factor(mydat$month, levels=c("7","8","9","10","11","12","1","2","3","4","5","6")
plot(eD_data~a, data=mydat)
lines(eD_model~a, data=mydat)
Here what I got
有没有办法让这条线也从7月开始并且连续? 谢谢!
答案 0 :(得分:2)
需要根据x轴值的排序对数据框进行排序。否则,当具有较高x值的数据帧行出现在具有较低x值的数据帧行之后,lines
将不得不回溯。
# Fake data
set.seed(4865)
dat = data.frame(month=1:12, values=rnorm(12))
将月份的订单设置为7月开始,并且#34;环绕&#34;到六月:
dat$month=factor(dat$month, levels=c(7:12,1:6))
以原始顺序绘制行:我们已将因子顺序设置为在7月开始,以便我们在x轴上得到的结果。但是,数据框的行以1月开头。 lines
只是按照数据在数据框中出现的顺序从一点到另一点放置一条线,因此该行从一月开始,并且必须从六月到七月回溯:
plot(values ~ month, data=dat)
lines(values ~ month, data=dat)
按month
对行进行排序:现在,数据框的行显示的顺序与因子month
的顺序相同,一切顺利:
dat = dat[order(dat$month), ]
plot(values ~ month, data=dat)
lines(values ~ month, data=dat)