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 = "")
# Draw heatmaps
pheatmap(test)
使用上面的矩阵做热图,要求低值为蓝色,高值为红色,中间值为白色:
pheatmap(test,
scale = "none",
color = colorRampPalette(colors = c("blue","white","red"))(100)
现在要求0的位置为白色,并且色条范围为-1到6,这里使用breaks参数重新定义色条范围并根据break范围划分颜色范围,代码如下:
#breaks
bk <- c(seq(-1,-0.1,by=0.01),seq(0,6,by=0.01))
# Draw heatmaps
pheatmap(test,
scale = "none",
color = c(colorRampPalette(colors = c("blue","white"))(length(bk)/2), colorRampPalette(colors = c("white","red"))(length(bk)/2)),
legend_breaks=seq(-1,5,2),
breaks=bk)
关于colorRampPalette
colorRampPalette 函数支持自定义的创建一系列的颜色梯度
代码示例:
colors <- colorRampPalette(c("blue", "red"))(5)
colors
[1] "#0000FF" "#3F00BF" "#7F007F" "#BF003F" "#FF0000"
函数的参数c(“blue”, “red”) 指的是颜色从蓝色渐变到红色,5 代表创建长度为5的颜色梯度
保存为PDF
pheatmap这个包使用的是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, "C:\\Users\\Jin Wang\\Desktop/test.pdf",8,12)
王 进(Jingle)
本网站主要用于个人科研方法整理以及生活分享,欢迎各位留言一起学习探讨,共同进步。如果想更多的了解我,欢迎查看我的简历。
很多留言不能及时给大家回复讨论,深感歉意!现在太忙了,如果有急需要讨论合作的可以直接加微信,也可以进科研互助群讨论。
TF-Target Finder: 进哥的转录因子靶基因预测工具重磅升级
ggsurvplot生存曲线添加HR和95% CI
24年新版TCGA GDC data portal 2.0界面介绍及数据下载教程
单因素/多因素Logistic回归模型基本介绍及SPSS/GraphPad分析步骤
更新:转录因子靶基因多数据库预测在线工具(主要针对KnockTF数据库)
近期评论