This question already has answers here:
Plot one numeric variable against n numeric variables in n plots

(4个答案)


2年前关闭。





我有一个带有X列的表,以及几列Y1,Y2,Y3 ... Y50
我正在努力使用R语法使用类似于pair(table)的单个命令来绘制Y1与X,Y2与X等的多个散点图。除了我不希望每列都相对于其他列-这是Y与X的散点图

最佳答案

我认为最好使用stackmelt这样的长格式存储数据:

X <- 1:10
dat <- cbind(matrix(rnorm(10*50),ncol=50,
           dimnames=list(NULL,paste0('Y',1:50))))
dat <- cbind(X,stack(as.data.frame(dat)))


在您的情况下,您可以使用以下方式获取Y的矩阵:

 do.call(cbind,mget(ls(pattern='Y[0-9]+')))


然后使用ggplot2绘制它们

library(ggplot2)
ggplot(dat) +
  geom_line(aes(x=X,y=values,color=ind)) +
  facet_wrap(~ind)+theme(legend.position='none')




lattice

xyplot(X~values|ind,data=dat,type='l',groups=ind)

10-07 12:08