微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

保持不同热图的热图颜色范围相同

如何解决保持不同热图的热图颜色范围相同

我有以下代码来制作表示相关矩阵的两个不同的 pheatmap。

A1 <- c(1,2,3,4)
B1 <- c(2,4,1)
C1 <- c(2,5)
D1 <- c(2,1,4)
E1 <- c(2,5)
Gene <- c(1,4)
df1 <- data.frame(Gene,A1,B1,C1,D1,E1)

CorMatrix1 <- cor(df1[,c("A1","B1","C1","D1","E1")])
CorMatrix1

pheatmap(CorMatrix1)

A2 <- c(2,5,6,4)
B2 <- c(4,8,9,3)
C2 <- c(5,7,1)
D2 <- c(1,4)
E2 <- c(3,4)
Gene <- c(1,4)
df2 <- data.frame(Gene,A2,B2,C2,D2,E2)

CorMatrix2 <- cor(df2[,c("A2","B2","C2","D2","E2")])
CorMatrix2

pheatmap(CorMatrix2)

我的问题很简单,我如何操作 pheatmap 色标,以便它们对于两个 pheatmap 是相同的?例如,如何使两个 pheatmap 上的色阶从 -0.5 变为 1?

解决方法

考虑设置您自己的图例范围,包括颜色应更改的间隔。

# load package for color range   
library(RColorBrewer)

# define range (e.g.,-0.5 to 1) and step size (e.g.,0.2)
breaksList = seq(-0.5,1,by = 0.2)

# plot matrix1 with new range
pheatmap(CorMatrix1,color = colorRampPalette(rev(brewer.pal(n = 7,name = "RdYlBu")))(length(breaksList)),breaks = breaksList)

# plot matrix2 with new range
pheatmap(CorMatrix2,breaks = breaksList)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。