这是我的功能:
heat <- function(grid, export = TRUE) {
map <- gplots::heatmap.2(grid, na.rm = TRUE, dendrogram = "none", Rowv = FALSE, Colv = FALSE,
trace = "none", density.info = "none",
col = colorRampPalette(c("yellow", "orange", "red")))
if (isTRUE(export)) {
file <- paste0(tools::file_path_sans_ext("My file.xlsx), " Heat map.pdf")
grDevices::pdf(file = file)
print(map)
grDevices::dev.off()
} else {
invisible(map)
}
}
我希望它生成热图并将其导出为PDF。每当我运行它时,该图都会在Rstudio中正确显示,并且会创建一个具有正确名称的PDF,但是当我尝试打开PDF时,它的页面为零。与其填充文件,不如将文件打印到控制台中。有人对为什么这可能不起作用有建议吗?