用不同数量的数据覆盖散点图

时间:2013-07-26 13:37:36

标签: r plot

我正在尝试在同一个图上绘制三个不同的数据集。我有第一组32个数据点,第二组38个,第三组48个。

我无法在data.frame中将它们绑定在一起,以便将它们传递到matplot,我不知道该怎么做。

这样做的任何想法/方法(这可能是我以前从未见过的容易的事情)?

他们彼此完全独立,我没有理由不能过分他们。

1 个答案:

答案 0 :(得分:2)

e.g。

d1 <- data.frame(x=runif(20),y=runif(20))
d2 <- data.frame(x=rnorm(10),y=rnorm(10))
d3 <- data.frame(x=rpois(5,5),y=rpois(5,5))
allD <- rbind(d1,d2,d3)
plot(y~x,data=d1,xlim=range(allD$x),ylim=range(allD$y))
with(d2,points(x,y,col=2))
with(d3,points(x,y,col=4))

或:

plot(y~x,data=d1,xlim=range(allD$x),ylim=range(allD$y),type="n")
mapply(function(x,c) with(x,points(x,y,col=c)),
       list(d1,d2,d3),c(1,2,4))

或:

allD$group <- rep(1:3,c(20,10,5))
plot(y~x,data=allD,col=allD$group)

或:

library(lattice)
xyplot(y~x,groups=group,data=allD)

或:

library(ggplot2)
ggplot(allD,aes(x,y,colour=factor(group)))+geom_point()