【问题标题】:How to loop through and produce plots on the same page如何循环并在同一页面上生成图
【发布时间】:2014-11-07 22:29:41
【问题描述】:

我有一些基因数据,我正试图在每个染色体的基础上绘制出来。代码如下:

plot(df[which(df[,1] == "chr7"),2],p_seq[which(df[,1] == "chr7")],type="l",lty=4,xlab="Locus",ylab="Median ZScore")

数据框(称为 df)在其第一列中包含所有染色体,标记为 chr1、chr2 等到 chr22,然后是 chrX 和 chrY。

我想对第 1 列中的所有 chr 进行上述绘图,并将它们全部放在同一页面上。我会尝试遍历 chr 和一个数字,但 X chrX 和 Y 破坏了这一点。有人可以帮忙吗?

【问题讨论】:

  • 您可以发布您的数据样本或小reproducible example吗?这样可以更轻松地为您提供帮助。

标签: r


【解决方案1】:

这里有两种方法可以一次获取多个图。我使用了mtcars 数据集,它内置于R

# PDF file with a separate page for each plot
pdf("plots.pdf", 5,5)

# Make a separate plot of mpg vs. weight for each value of cyl
for (i in unique(mtcars$cyl)) {
  plot(mtcars$wt[mtcars$cyl==i], mtcars$mpg[mtcars$cyl==i],
       xlab=paste0(i," Cylinders"), ylab="mpg")
}
dev.off()

# PDF file with all plots on one page
pdf("plots2.pdf", 5,12)

# Put 3 plots in one column on a single page
par(mfrow=c(3,1))

# Make a separate plot of mpg vs. weight for each value of cyl
for (i in unique(mtcars$cyl)) {
  plot(mtcars$wt[mtcars$cyl==i], mtcars$mpg[mtcars$cyl==i],
       xlab=paste0(i," Cylinders"), ylab="mpg")
}
dev.off()

【讨论】:

    猜你喜欢
    • 2021-12-02
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 2018-07-17
    • 2014-03-28
    • 1970-01-01
    相关资源
    最近更新 更多