首页 > 解决方案 > plotGseaTable 在一个 pdf 页面上多次绘制,而不是创建多个页面

问题描述

我正在使用该fgsea库为我的实验室分析一些数据,现在我正在使用该plotGseaTable函数来绘制 gsea 表。基本功能工作正常:

library(fgsea)

data(examplePathways)
data(exampleRanks)

fgseaRes <- fgsea(examplePathways, exampleRanks, nperm=1000, minSize=15, maxSize=100)
topPathways <- fgseaRes[head(order(pval), n=15)][order(NES), pathway]

pdf(paste0(outdir, "testgseatable.pdf"))

plotGseaTable(examplePathways[topPathways], exampleRanks, fgseaRes, gseaParam=0.5)

dev.off()

基本情节GseaTable情节

但是,一旦我尝试查看多个排名并绘制它们,它会将所有图表打印在一个页面上:

myranks_1 = rnorm(length(exampleRanks), 50, 7)
names(myranks_1) = names(exampleRanks)
myres_1 = fgsea(examplePathways, myranks_1, nperm=1000, minSize=15, maxSize=100)
mytop_1 = myres_1[head(order(pval), n=15)][order(NES), pathway]

myranks_2 = rnorm(length(exampleRanks), 50, 7)
names(myranks_2) = names(exampleRanks)
myres_2 = fgsea(examplePathways, myranks_2, nperm=1000, minSize=15, maxSize=100)
mytop_2 = myres_2[head(order(pval), n=15)][order(NES), pathway]
myranks_3 = rnorm(length(exampleRanks), 50, 7)
names(myranks_3) = names(exampleRanks)
myres_3 = fgsea(examplePathways, myranks_3, nperm=1000, minSize=15, maxSize=100)
mytop_3 = myres_3[head(order(pval), n=15)][order(NES), pathway]
myranks_4 = rnorm(length(exampleRanks), 50, 7)
names(myranks_4) = names(exampleRanks)
myres_4 = fgsea(examplePathways, myranks_4, nperm=1000, minSize=15, maxSize=100)
mytop_4 = myres_4[head(order(pval), n=15)][order(NES), pathway]
myranks_5 = rnorm(length(exampleRanks), 50, 7)
names(myranks_5) = names(exampleRanks)
myres_5 = fgsea(examplePathways, myranks_5, nperm=1000, minSize=15, maxSize=100)
mytop_5 = myres_5[head(order(pval), n=15)][order(NES), pathway]


pdf(paste0(outdir, "testgseatable_multiple.pdf"))

plotGseaTable(examplePathways[mytop_1], myranks_1, myres_1, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_2], myranks_2, myres_2, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_3], myranks_3, myres_3, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_4], myranks_4, myres_4, gseaParam=0.5)
plotGseaTable(examplePathways[mytop_5], myranks_5, myres_5, gseaParam=0.5)

dev.off()

噩梦的邪恶孩子,单页上的多个文本情节,字符重叠

这是函数的问题吗?有没有办法告诉pdf()函数开始一个新页面?

标签: rplot

解决方案


您可以使用该plot.new()命令在 pdf 中强制分页。

例如

path <- "~/Desktop/tests/"
pdf(file = paste0(path, "myplot.pdf"))
par(mfrow = c(1,2))

plot(rnorm(10), main = 1)

plot.new()

plot(rnorm(10), main = 2)
plot(rnorm(10), main = 3)

dev.off()

AA


推荐阅读