使用ggplot2在同一个图上有多个样条线?

时间:2016-04-23 16:13:55

标签: r ggplot2

我想在下面的图中添加另一个样条曲线,但是如果我这样做,.parallax{ position:static; } 将只显示第一个样条曲线上的点。

geom_point()

enter image description here

如何在第二行显示点?

1 个答案:

答案 0 :(得分:2)

假设您最初在两个data.frames中拥有所需的数据,则此代码将起作用。它在使用ggplot之前生成样条曲线。

n <- 10
d <- data.frame(x = 1:n, y = rnorm(n))
d2 <- data.frame(x = 1:n, y = rnorm(n))
dd <- rbind(cbind(d, case = "d"), cbind(d2, case = "d2"))
ddsmooth <- plyr::ddply(dd, .(case), function(k) as.data.frame(spline(k, n = n * 10)))
ggplot(dd,aes(x, y, group = case)) + geom_point() + 
  geom_line(aes(x, y, group  = case), data = ddsmooth)

如果您的数据位于data.frame的不同列中,请使用reshape2 :: melt进行处理。