首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >芭蕾特ComplexHeatmap

芭蕾特ComplexHeatmap
EN

Stack Overflow用户
提问于 2022-11-03 19:28:14
回答 1查看 35关注 0票数 1

我在热图上做了一个列注释。我用ComplexHeatmap。

我对注释的输入是:

代码语言:javascript
复制
vector_pvalues_adj <- c(0.3778364, 0.0001000, 0.2122000, 0.4174714, 0.3778364, 0.4799250, 0.1613250, 0.4861000, 0.4174714, 0.1008000, 0.0141000, 0.4174714, 0.0001000, 0.0018000, 0.4861000, 0.4799250, 0.0001000, 0.0001000)

守则是:

代码语言:javascript
复制
library(ComplexHeatmap)
column_ha3 = HeatmapAnnotation("-log adj p-value"= anno_barplot(-log(vector_pvalues_adj)), gp = gpar(fill = "red"), height =  unit(20, "mm"))

我要加一个an

代码语言:javascript
复制
abline(h = -log(0.05), col= "red")

但我不能,有人能给我建议怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-04 01:35:29

为了添加类似于水平线的内容,可以使用ComplexHeatmap函数decorate_annotationgrid包。

这增加了虚线。

代码语言:javascript
复制
library(ComplexHeatmap) # BiocManager::install("ComplexHeatmap")
library(grid)

# original code from question
vector_pvalues_adj <- c(0.3778364, 0.0001000, 0.2122000, 0.4174714, 
                        0.3778364, 0.4799250, 0.1613250, 0.4861000,
                        0.4174714, 0.1008000, 0.0141000, 0.4174714,
                        0.0001000, 0.0018000, 0.4861000, 0.4799250,
                        0.0001000, 0.0001000)

# original code from question
column_ha3 = HeatmapAnnotation(
  "-log adj p-value" = anno_barplot(-log(vector_pvalues_adj)), 
  gp = gpar(fill = "red"), height =  unit(20, "mm"))

# added for context
Heatmap(matrix(rnorm(18*18), 18), name = "mat", top_annotation = column_ha3)

# 'decorate' "-log adj p-value"
decorate_annotation("-log adj p-value", {
  grid.lines(c(.5, 18.5), c(4, 4), gp = gpar(lty = 2, col = "red"),
             default.units = "native")
})

在最后一个函数中,c(.5, 18.5)是x轴值,它总是等价于列数,或者根据数据(使用.5 get's you to the边):18。

对于y,我把它设为4开始,4结束,所以你得到一条水平线。在gpar中,我使用了lty = 2,它给了我一个虚线,而不是默认的实线。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74308601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档