Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2:将线图的两个部分连接在一起_R_Ggplot2 - Fatal编程技术网

R ggplot2:将线图的两个部分连接在一起

R ggplot2:将线图的两个部分连接在一起,r,ggplot2,R,Ggplot2,我需要在ggplot中将线图的两部分连接在一起,但我不知道正确的代码 数据集: 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

我需要在
ggplot
中将线图的两部分连接在一起,但我不知道正确的代码

数据集:

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()

nmmaps通常最好更改数据,以便绘图。您可以保持绘图命令现在的状态,只需向数据中添加两行即可

df <- rbind(data.frame(Life_stage2 = c('C', 'A'), 
                       Year = c(1997, 1997.5), 
                       d15N2 = c(8, 7)), 
            nmmaps)

ggplot(df, aes(Year, d15N2, colour=Life_stage2)) +
  geom_point() +
  geom_line()

df问题不清楚,因为间隙逻辑没有很好的定义。数据集也有点与您描述的内容相矛盾。这种方法虽然有效,但很难看,但可能提供了一种改进方法:使用重复的
geom_-line
调用覆盖不同颜色的部分行<代码>nmmaps$标记
df <- rbind(data.frame(Life_stage2 = c('C', 'A'), 
                       Year = c(1997, 1997.5), 
                       d15N2 = c(8, 7)), 
            nmmaps)

ggplot(df, aes(Year, d15N2, colour=Life_stage2)) +
  geom_point() +
  geom_line()