gpt4 book ai didi

r - 如何将 pheatmap 图绘制到屏幕并保存到文件

转载 作者:行者123 更新时间:2023-12-03 23:38:07 29 4
gpt4 key购买 nike

我正在使用 pheatmap 包。默认情况下,它将绘图绘制到屏幕上。就我而言,这意味着在 R studio 的 R markdown notebook 中输出。但我也想保存到文件中。如果我将它保存到一个文件,给它 filename=论点,它不会绘制到屏幕上(R 笔记本)。有没有办法让这两件事都发生?更一般地说,对于我想在屏幕上保存和显示的任何情节(ggplot2)?

最佳答案

pheatmap 的作者似乎并没有让这变得非常容易。但这是您需要在两个单独的步骤中完成的事情。首先,我们使用来自 ?pheatmap 的样本数据。帮助页面

test = matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
colnames(test) = paste("Test", 1:10, sep = "")
rownames(test) = paste("Gene", 1:20, sep = "")

我们可以渲染绘图并保存结果
xx <- pheatmap(test)

然后,您可以通过打开图形设备并按照在主函数中完成的方式重新绘制结果来将其输出到文件
save_pheatmap_pdf <- function(x, filename, width=7, height=7) {
stopifnot(!missing(x))
stopifnot(!missing(filename))
pdf(filename, width=width, height=height)
grid::grid.newpage()
grid::grid.draw(x$gtable)
dev.off()
}
save_pheatmap_pdf(xx, "test.pdf")

本包直接使用网格库,不使用 ggplot2所以那个包的解决方案会有所不同。 ggsave函数可以更轻松地将最后绘制的图保存到文件中。

关于r - 如何将 pheatmap 图绘制到屏幕并保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43051525/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com