使用 ggplot 绘制 link 个兴趣点的散点图
Using ggplot to link points of interest in scatterplot
我正在尝试创建散点图,然后在散点图中的点之间添加线条。我可以使用 plot
和 segments
让它工作,如下所示:
set.seed(10)
xvar = runif(10, 0, 1)
yvar = runif(10, 0, 1)
start = c(1, 1, 1, 9)
end = c(2, 4, 6, 10)
plot(xvar, yvar)
segments(xvar[start], yvar[start], xvar[end],yvar[end], col= 'blue')
我想实现相同类型的想法,但使用 ggplot2。我这样做的原因是我可能想为情节增添美感,而 ggplot2 比 plot
更允许这样做。我尝试了以下变体:
ggplot(dat, aes(x = xvar, y = yvar)) +
geom_point(shape=20, size=1) +
segments(xvar[start], yvar[start], xvar[end], xvar[end], col = 'blue')
但无济于事。任何指点将不胜感激!
想法是使用 geom_line
并为每个段定义组 (gr
):
dat <- data.frame(xvar = xvar, yvar = yvar)
dat2 <- cbind(dat[c(start, end), ], gr = 1:length(start))
ggplot(dat, aes(x = xvar, y = yvar)) + geom_point(shape = 20, size = 1) +
geom_line(aes(x = xvar, y = yvar, group = gr), data = dat2)
我正在尝试创建散点图,然后在散点图中的点之间添加线条。我可以使用 plot
和 segments
让它工作,如下所示:
set.seed(10)
xvar = runif(10, 0, 1)
yvar = runif(10, 0, 1)
start = c(1, 1, 1, 9)
end = c(2, 4, 6, 10)
plot(xvar, yvar)
segments(xvar[start], yvar[start], xvar[end],yvar[end], col= 'blue')
我想实现相同类型的想法,但使用 ggplot2。我这样做的原因是我可能想为情节增添美感,而 ggplot2 比 plot
更允许这样做。我尝试了以下变体:
ggplot(dat, aes(x = xvar, y = yvar)) +
geom_point(shape=20, size=1) +
segments(xvar[start], yvar[start], xvar[end], xvar[end], col = 'blue')
但无济于事。任何指点将不胜感激!
想法是使用 geom_line
并为每个段定义组 (gr
):
dat <- data.frame(xvar = xvar, yvar = yvar)
dat2 <- cbind(dat[c(start, end), ], gr = 1:length(start))
ggplot(dat, aes(x = xvar, y = yvar)) + geom_point(shape = 20, size = 1) +
geom_line(aes(x = xvar, y = yvar, group = gr), data = dat2)