如何解决是否有R函数将单个变量绘制为热图?
我已经生成了一些RNA序列数据,并列出了两组之间的DE基因列表和倍数变化(log2FC)。
我希望能够在与该图相似的单个栏中绘制log2FC的摘要热图,以进行该组比较。
有人会碰巧知道有关如何为此编写ggplot脚本的想法吗?
谢谢。
解决方法
在ggplot中使用geom_tile()
可以实现非常相似的功能。
library(ggplot2)
library(tidyr)
library(dplyr)
# generate random fold changes
df <- data.frame(
group1 = rnorm(100),group2 = rnorm(100)
)
# get order by first group
df$pos <- rank(df$group1,ties.method="first")
# convert from wide to long for ggplot
df.long <- pivot_longer(
df,c("group1","group2"),names_to="group",values_to="logFC"
)
ggplot(df.long,aes(x=pos,y=reorder(group,desc(group)),fill=logFC)) +
geom_tile() +
scale_fill_gradient2(low="blue",mid="black",high="yellow",midpoint=0) +
theme_void() +
theme(
legend.position="top",axis.text.y=element_text()
)
生成的图:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。