Как получить отображение пути просмотра непосредственно (а не сохранить в виде файла) в R? - PullRequest
0 голосов
/ 10 февраля 2020

Вот пример, и выводом является файл 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

1 Ответ

1 голос
/ 10 февраля 2020

Похоже, что при просмотре пути отображаются только 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, и это изображение появляется на панели просмотра:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...