繁体   English   中英

一次多张热图

[英]Multiple heatmaps at once

我正在尝试使用 facet_wrap 和 geom_tile 函数获取多个热图,我有 1000 个样本。

我的目标是为每个 Parent_Gene 获取热图,其中包括“X”轴中的“条件”、“响应值”作为“填充”以及属于“Y”轴中相同 Parent_Gene 的基因。

ID sl (健康)状况 基因 响应值 Parent_Gene
1 S1 疾病1 基因KPN1 2.749526 基因KPN
2 S2 疾病2 基因KPN2 6.606618 基因KPN
3 S3 疾病1 基因BKJH1 4.697644 基因BKJH

到目前为止,这是我的脚本。 我的问题是,我只希望每个热图中都描述属于相应 parent_gene 的基因,而不是每次都显示所有基因。

my_data <- read.csv("my_data.csv")

my_data$Parent_Gene <- gsub("([A-Z)]+)\\d+.*","\\1", my_data $Gene)

library(tidyverse)

 gg<- ggplot(my_data, aes(x=Condition, y=Gene, fill= Response_Value))+
  geom_tile(color="white", size=0.1)+
 scale_fill_viridis(name="response levels")

 gg + coord_equal()

gg + facet_wrap(~Parent_Gene, ncol=2)

gg <- gg + labs(x=NULL, y=NULL, title="Comparative response levels")

您需要将scales = "free"添加到您的facet_wrap()中。 这将“释放”规模,在您的情况下,这将只在您的情节中留下包含的基因。 您还可以指定释放单个比例,例如使用free_xfree_y ,如果您想在 x 轴上有不同的基因,但保留 y 轴的比例,这可能很有用。

这些在帮助页面中也有详细说明,您可以使用?facet_wrap访问该页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM