[英]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_x
或free_y
,如果您想在 x 轴上有不同的基因,但保留 y 轴的比例,这可能很有用。
这些在帮助页面中也有详细说明,您可以使用?facet_wrap
访问该页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.