Richie's answer is very thorough, but I wanted to show something simpler. Since lines are not drawn to NA
points, another approach is drop these points when drawing lines. This implicitly makes a linear interpolation between points (as straight lines do).
Using dfr
from Richie's answer, without needing the calculation of z
step:
ggplot(dfr, aes(x,y)) +
geom_point() +
geom_line(data=dfr[!is.na(dfr$y),])
For that matter, in this case the subsetting could be done for the whole thing.
ggplot(dfr[!is.na(dfr$y),], aes(x,y)) +
geom_point() +
geom_line()
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…