[R] 保存pheatmap图片对象到文件

一般我们使用pheatmap通过Rstudio交互得到的图片在plots的Export导出即可,如何保存对象到文件呢?这个需求在自动化流程中很常见,作者似乎也没说明。

生成示例数据:

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 = "")

看下数据亚子:

实现方法

接下来实现方法,分为两步:
1.保存对象

library(pheatmap)
xx <- pheatmap(test)

2. 打开图形设备重新画
这个包使用的是grid图形系统而非ggplot2,所以解决方法也是不同的。通过自定义函数来生成,也可一次绘制多个对象的图形。

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")

Ref: https://stackoverflow.com/questions/43051525/how-to-draw-pheatmap-plot-to-screen-and-also-save-to-file

原文地址:https://www.cnblogs.com/jessepeng/p/11361263.html

时间: 2024-11-05 19:27:01

[R] 保存pheatmap图片对象到文件的相关文章

读取视屏文件,保存帧图片为ppm文件

ffmpeg跟sdl的学习过程:一.版本信息:ffmpeg-3.0.2.tar.bz2SDL2-2.0.4.tar.gz二.编译过程:1.ffmgeg的编译:./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpegmakemake install 2.sdl的编译:./configure --prefix=/usr/local/sdlmakemake install 3.系统环境配置:查看/etc/ld.so.co

保存远程图片到本地文件夹!

<% Function saveimg(url) savepath="upload" temp=split(url,".") '以下是用时间与随机数重命名文件名 randomize ranNum=int(90000*rnd)+10000'随机数 filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&&

.Net之使用Jquery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径

前言: 首先对于图片上传而言,在我们的项目开发中可以说出现的频率是相当的高的.这篇文章中,我将要描述的是在我们.Net中如何使用Jquery Ajax通过FormData对象异步提交图片文件到后台保存,并返回保存的图片路径展示出图片,实现一个无刷新的异步图片上传的过程,当然这里我讲解的是单张图片的保存过程,对于多图片上传的话其实我们只需要在type='file'文本框中加上一个multiple可多选,然后获取input中的文件数组遍历向后台提交感兴趣的话可以尝试,不过下一篇博客将会讲解如何使用L

如何把Excel中的单元格等对象保存成图片

对于Excel中的很多对象,比如单元格(Cell),图形(shape),图表(chart)等等,有时需要将它们保存成一张图片.就像截图一样. 最近做一个Excel相关的项目,项目中遇到一个很变态的需求, 需要对Excel中的一些对象进行拍图,比如,对一个单元格设置一些颜色之后拍图,或者对一个图表,报表拍成图片.经过比较曲折的经历,终于还是完成了.拿出来分享一下. 要做Excel,首先当然是查看Excel的com对象模型.地址在这里: http://msdn.microsoft.com/en-us

DataFormats.Dib 保存为图片文件

var data = System.Windows.Forms.Clipboard.GetDataObject(); using (var ms = data.GetData(System.Windows.Forms.DataFormats.Dib) as MemoryStream) { byte[] buff = new byte[ms.Capacity]; if (ms.CanRead) { ms.Read(buff, 0, ms.Capacity); } MemoryStream ms2

PHP保存Base64图片base64_decode的问题 文件打不开的问题

PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码. 编码上,只要将图片流读取到,而后使用base64_encode进行进行编码即可得到. 而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这些字符 data:image/png;base64,本来是用于base64进行识别的.但是如果直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,而解决方法就是先去掉

PowerShell保存剪贴板图片并构造MarkDown语句

目标 最近在学着用MarkDown写文档,对传图片深恶痛绝.准备自己用PowerShell造个轮子,还好提前搜索,找到了很多大哥的文档. 整个要做的事情流程是 鼠标复制个剪贴板图片 进入程序处理逻辑 处理剪贴板图片,保存成本地文件(png或者jpg) 上传到一个图床,获取图床的连接 把图床的链接构造成MarkDown要求的格式,塞回剪贴板. 回到MarkDown编辑器,直接剪贴. 目标是2阶段的内容,完全用脚本实现. 实现 PowerShell对文件的操作进行创建修改是比较简单的,关键的地方在这

对相机所看的视角截屏保存为图片

对相机所看的视角截屏保存为图片: 1 using UnityEngine; 2 using System.Collections; 3 using UnityEngine.UI; 4 /// <summary> 5 /// 对相机截图 6 /// </summary> 7 public class Jietu : MonoBehaviour { 8 9 public Camera camera; 10 Texture2D tex; 11 void Start() 12 { 13 t

Echarts-2.2.7中统计出来的统计图保存为图片

今天在做一个图形报表,有个需求是要把展现的统计图保存为图片, 图形报表用的Echarts-2.2.7, 以前有用过 Echarts,记得echarts插件是可以帮助我们把统计图保存为图片的. 只是不记得是怎么配置了,查看API文档很久也没有找到,最后在 文档/配置项手册 里面找到了配置方法 和配置 参数. 下图是 Echarts官网 实例中的配置: 下面来说说配置保存图片的步骤: 1.保存图片是Echarts的一个工具,先找到工具箱 toolbox 工具栏.内置有导出图片,数据视图,动态类型切换