• R语言
  • ggplot中如何将两张散点图画在一张图中?

如: data1 <- data.frame(x, y1)
data2 <- data.frame(x, y2)
ggplot(data = data1, aes(x = x, y = y1)) + geom_point()
ggplot(data = data2, aes(x = x, y = y2)) + geom_point()
这里data1,data2中x是一样的,能不能把这个画到同一张图中,并以示区别。如对第二张散点进行着色?
我只会将他们画到一张图中,不会着色。
方法是:nox <- rep(x, 2)
noy <- c(y1,y2)
data <- data.frame(nox, noy)
ggplot(data = data, aes(x = nox, y = noy)) + geom_point()
但是这样没法区别开??求教

y的含义是一样的吗,如果是一样的,那么加一列作为标记,区分data1 data2, 然后aes里将label映射至colour即可用新的标记列进行颜色区分
代码

library(ggplot2)

x= rnorm(100)
y1= rnorm(100)
y2=rnorm(100)

data1 <- data.frame(x=x, y=y1, lab="data1")
data2 <- data.frame(x=x, y=y2, lab="data2")

data3 <- rbind(data1,data2)

gg <- ggplot(data = data3,aes(x=x,y=y,color=lab))+
  geom_point()

print(gg)

    tctcab 谢谢!我尝试了一下,确实可以,但是效果不明显。
    我这里的(x,y1)是实际数据,我用核函数估计得到m(x), y2是x代入m(x)中的值,即y1的估计值。我发现光画m(x)的散点看不出来,我想问一下能不能在(x,y1)的散点图上添加m(x)的函数线,以便来看拟合效果?谢谢