如何在Seurat(ggplot2)的DoHeatmap图中重新排列单元格

时间:2018-09-02 10:43:46

标签: r ggplot2

我正在用Seurat在R中绘制热图

stage('Build') {
    input 'Proceed to build?'
    sh 'mvn  -f abc/pom.xml clean install -U'
}

这就是我得到的

heatmap result

我想在这里按自定义顺序对单元格重新排序。 我尝试过require(Seurat) data <- data.frame(cell1=c(-0.5, 0.5), cell2=c(-0.8, 0.3), cell3=c(2.0, 0.1), cell4=c(1.0, 1.0)) rownames(data) <- c("gene1", "gene2") test <- CreateSeuratObject(data) test@scale.data <- data DoHeatmap(test) DoHeatmap(test, data.use=<reordered data>),然后重新排序p <- DoHeatmap(…, plot=FALSE),但无济于事

1 个答案:

答案 0 :(得分:1)

我们可以将p$data$cell强制为一个因子,并根据需要指定级别。

set.seed(1)
(custom_order <- paste0("cell", sample(4)))
#[1] "cell2" "cell4" "cell3" "cell1"

创建情节并重新排序

p <- DoHeatmap(test)
p$data$cell <- factor(p$data$cell, levels = custom_order)
p

enter image description here