2
我需要在ggplot
中將線圖的兩個部分連接在一起,但我不知道正確的代碼。R ggplot2:將線圖的兩個部分連接在一起
數據集:
Life_stage2 Year d15N2
A 2002.5 1
A 2002 2
A 2001.5 4
A 2001 6
A 2000.5 5
A 2000 NA
A 1999.5 9
A 1999 2
A 1998.5 3
A 1998 4
B 1997.5 7
B 1997 8
C 1996 5
C 1995 6
C 1994.5 7
C 1994 2
我的代碼:
nmmaps<-read.csv("testing.csv", as.is=T)
ggplot(nmmaps, aes(Year, d15N2, colour=factor(Life_stage2), group=Life_stage2)) +
geom_point() +
geom_line()
基本上,我希望這是
- 1999.5與2000.5之間的差距,但不包括1996與1997與1997.5與1998之間的差距。
- 1996-97年差距線的顏色應與1996年和1997年之前的截面顏色相同.5-98差距應該相同顏色爲1998年以後的部分。
我需要使用什麼代碼才能實現此目的?或者,我是否可以在數據表中添加一些東西使R認爲那裏有數據?
DATA
nmmaps <-
structure(list(Life_stage2 = structure(c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 3L, 3L, 3L, 3L), .Label = c("A",
"B", "C"), class = "factor"), Year = c(2002.5, 2002, 2001.5,
2001, 2000.5, 2000, 1999.5, 1999, 1998.5, 1998, 1997.5, 1997,
1996, 1995, 1994.5, 1994), d15N2 = c(1L, 2L, 4L, 6L, 5L, NA,
9L, 2L, 3L, 4L, 7L, 8L, 5L, 6L, 7L, 2L)), .Names = c("Life_stage2",
"Year", "d15N2"), class = "data.frame", row.names = c(NA, -16L
))
問題不清楚,因爲缺口邏輯沒有明確定義。數據集也有點矛盾你所描述的。 – Vlo 2015-01-21 05:26:50
這種方法很有效,但很難看,但也許會有一些進展:想法是使用重複的「geom_line」調用來覆蓋不同顏色的線段。 nmmaps $ tag < - cut(nmmaps $ Year,c(0,1997,1997.5,Inf))' 'ggplot(nmmaps,aes(Year,d15N2,color = factor(Life_stage2)))+ geom_line =「#F8766D」)+ geom_line()+ geom_line(aes(group = tag))' – user20650 2015-01-21 05:49:13