python - 多 1d 热图绘图重新创建
问题描述
我正在尝试重新创建我看过的图像,基本上需要相同。
如果有人能指出正确的方向,那就太好了。它表示整个染色体上的突变密度(规模为百万碱基对)
我有这样的格式的数据
Chromosome Chromosome_position Number_of_SNPs
Chr1\t100000\t345\n
Chr1\t200000\t265\n
etc.
任何建议将不胜感激
提前致谢
瑞安
解决方案
我不知道你的密度是多少,但这里是一个“普通”密度的例子。
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)
推荐阅读
- python-3.x - 使用 word2vec 确定最相似的短语
- android - 将 Fragment 与其在另一个 Fragment 中的更新链接
- traefik - Traefik 背后的码头服务
- arrays - 在逻辑应用程序中将数组拆分为包含两个数组的 JSON
- c - 如何使用线程更改函数中的结构变量?
- python - 使用 Python API 向注册表添加主题
- android - 自定义键盘 - 通过 keyup 从弹出键盘中选择一个键
- bytesio - 字节 IO 和文本文件
- python - 在机器人框架中使用命令“运行进程”时如何授予.sh文件读写权限
- c - 在c中通过命名管道传递值