这是一个示例,输出是一个 png 文件 hsa04110.gse16873.png
。我的问题是如何直接显示绘图而不是将其保存为文件。
library(pathview)
data(gse16873.d)
data(demo.paths)
data(paths.hsa)
pathview(gene.data = gse16873.d[, 1], pathway.id = demo.paths$sel.paths[1],
species = "hsa", out.suffix = "gse16873", kegg.native = T)
#> 'select()' returned 1:1 mapping between keys and columns
#> Info: Working in directory D:/github/RNASeq-KEGG
#> Info: Writing image file hsa04110.gse16873.png
最佳答案
看起来 pathview 只渲染 PNG,所以诀窍是定义一个函数,该函数将在绘图窗口中显示创建的 PNG,并且默认情况下删除文件本身就好像您正在查看它在内存中。作为一种选择,您可以保留 PNG 的副本。
require(pathview)
require(grid)
require(png)
see_pathview <- function(..., save_image = FALSE)
{
msg <- capture.output(pathview::pathview(...), type = "message")
msg <- grep("image file", msg, value = T)
filename <- sapply(strsplit(msg, " "), function(x) x[length(x)])
img <- png::readPNG(filename)
grid::grid.raster(img)
if(!save_image) invisible(file.remove(filename))
}
现在当你这样做的时候:
data(gse16873.d)
data(demo.paths)
data(paths.hsa)
see_pathview(gene.data = gse16873.d[, 1],
pathway.id = demo.paths$sel.paths[1],
species = "hsa",
out.suffix = "gse16873",
kegg.native = T)
您没有收到任何通知您写入文件的消息,您的工作目录中没有新的 png,并且在查看器 Pane 中弹出此图片:
关于r - 如何在 R 中直接显示路径 View 图(而不是另存为文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60141841/