1

我在两个不同的 csv 文件中有两个矩阵,我想绘制它们具有相同的色阶。

这就是我现在拥有的,但它不起作用:

在此处输入图像描述

如您所见,两张图片使用相同的颜色范围(从蓝色到红色),但它们的含义不同:它们具有不同的间隔。

我想将相同的颜色与两个热图中的相同值范围相关联。

这是我的热图代码:

library(pheatmap)
datatable_normal = data.matrix(read.table(fileName, sep="\t", header=T, row.names=1))
pheatmap(datatable_normal, cluster_rows=FALSE, cluster_cols=FALSE, show_rownames=T, width=10, height=10)

我怎么解决这个问题?

4

1 回答 1

3

您可以通过设置相同的比例来设置相同的breaks.

这是我的例子:

library(pheatmap)

  ## example data   
set.seed(1); test1 <- matrix(rnorm(25, 0, 10), 5, 5)
set.seed(2); test2 <- matrix(rnorm(25, 30, 10), 5, 5)
colnames(test1) = paste0("Test", 1:5); rownames(test1) = paste0("Gene", 1:5)
colnames(test2) = paste0("Test", 1:5); rownames(test2) = paste0("Gene", 1:5)

  ## make breaks from combined range
Breaks <- seq(min(c(test1, test2)), max(c(test1, test2)), length = 100)

  ## draw   
pheatmap(test1, breaks = Breaks, cluster_rows=FALSE, cluster_cols=FALSE)
pheatmap(test2, breaks = Breaks, cluster_rows=FALSE, cluster_cols=FALSE)

在此处输入图像描述在此处输入图像描述

于 2016-10-25T08:35:23.963 回答