1

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

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

有什么想法/方法可以做到这一点(这可能是我以前从未见过的简单事情)?

它们都是完全独立的,我没有理由不能覆盖它们。

4

1 回答 1

2

例如

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()
于 2013-07-26T13:54:26.670 回答