使用qplot

时间:2015-12-08 12:38:20

标签: r ggplot2 regression dplyr ggvis

这是我试过的情节的样本数据集

x<-runif(3, min=4, max=50)
y<-runif(6, min=3, max=14)

x1 <-runif(8, min=7, max=52)
y1 <-runif(5, min=5, max=18)

我可以使用以下代码绘制平滑线。

qplot(y,x, geom='smooth', span =0.05)
qplot(y1, x1, geom='smooth', span =0.05)

但它们是在两个单独的图中绘制的;如何在不同图层的同一图上绘制两条平滑线?

1 个答案:

答案 0 :(得分:3)

您的示例存在一些问题,如评论

中所述
set.seed(1)
x <- sort(runif(20, min=4, max=50))
y <- sort(runif(20, min=3, max=14))

x1 <-sort(runif(20, min=7, max=52))
y1 <-sort(runif(20, min=5, max=18))

您可以使用qplot并将一堆图层串在一起

library(ggplot2)
qplot(x, y) + geom_smooth(aes(x, y)) + geom_point(aes(x1, y1)) + geom_smooth(aes(x1, y1))

enter image description here

但是,如果您拥有正确格式的数据,则更容易使用ggplot

dd <- data.frame(x, x1, y, y1)
ll <- reshape(dd, dir = 'long', varying = list(1:2, 3:4))

ggplot(ll, aes(x, y, group = time)) + geom_point() + geom_smooth()