【问题标题】:multi 1d heatmap plot re-creation多 1d 热图绘图重新创建
【发布时间】:2019-02-13 04:28:03
【问题描述】:

我正在尝试重新创建我看到的图像,基本上需要相同。

如果有人能指出正确的方向,那就太好了。它表示整个染色体上的突变密度(规模为百万碱基对)

Chromosome SNP density map

我有这样的格式的数据

Chromosome Chromosome_position Number_of_SNPs

Chr1\t100000\t345\n

Chr1\t200000\t265\n
etc.

任何建议将不胜感激

提前致谢

瑞恩

【问题讨论】:

  • 什么是“突变密度”?是Number_of_SNPs的密度吗?
  • @StéphaneLaurent 是 Number_of_SNPs 将决定热图上每个位置的颜色。这将代表染色体上每个位置的 SNP 密度

标签: python r matplotlib heatmap


【解决方案1】:

我不知道你的密度是多少,但这里是一个“普通”密度的例子。

library(data.table)
# simulated data
n <- 1000
DT <- data.table(Chr = rep(c("Chr1","Chr2"),each=n),
                 v = c(rgamma(n, 2, 3), rgamma(n,10,3)))
# construct density data 
DT2 <- DT[, {dty <- density(v, from = 0, to = max(v))
             list(x=dty$x, 
                  z=cut(dty$y, c(seq(0,1,by=0.1), Inf)))}, 
          by="Chr"]

library(ggplot2)
ggplot(DT2, aes("",round(x,1))) + geom_tile(aes(fill=z)) + 
  facet_grid(~Chr) + xlab(NULL) + ylab("something") + 
  scale_fill_viridis_d("density")
# I take round(x,1) because that does not work with x (looks like a bug)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-20
    • 2021-02-24
    • 2020-12-24
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    相关资源
    最近更新 更多