这图怎么画| 气泡热图(基因表达泛癌分析)

21f0767716166ce5f963532ef97a1b74.jpeg

bubble_cover

写在前面

【这图怎么画】系列的图都来自VIP群里同学的提问。推文只是对图片的复现,不代表作者对图片展现形式的认同。欢迎同学们在群里分析有意思的图片。

本期图片

0d7e7ea693b0cc9b56c51c236e471ebc.png
image-20221230233154825
98a3a04aad4ac9d1c9cdc9dc02ddb1c8.png
image-20221230233532195

Han G, Yang G, Hao D, et al. 9p21 loss confers a cold tumor immune microenvironment and primary resistance to immune checkpoint therapy. Nat Commun. 2021;12(1):5606. Published 2021 Sep 23. doi:10.1038/s41467-021-25894-9

分析了不同癌症类型中,9p21-WT肿瘤与9p21-loss肿瘤中28种免疫调节基因表达的变化。

复现结果

22ee5dbff2ac69f23714ef305ef5605c.png

示例数据和代码领取

点赞在看 本文,分享至朋友圈集赞30个保留30分钟,截图发至微信mzbj0002领取。

木舟笔记永久VIP企划

「权益:」

  1. 木舟笔记所有推文示例数据及代码「在VIP群里」实时更新)。

    5fa33fecf320c5118340b72f6d645c44.png
    data+code
  2. 木舟笔记「科研交流群」

「收费:」

「169¥/人」。可添加微信:mzbj0002 转账,或直接在文末打赏。木舟笔记「2022VIP」可直接支付「70¥」升级。

18821d7fa57546a1f0feea3651c6fe7a.png

绘图

# data example
library(dplyr)
data <- data.frame(type =sort(rep(paste0('cancer',LETTERS[seq(1,15)]),15)),
                   gene = rep(paste0('gene',1:15),15),
                   Log2FC = runif(225,-1,1),
                   pvalue = runif(225,0.000001,1))
head(data)
## plot
library(ggplot2)
p1 <- ggplot(data,aes(x=type ,y= gene)) + 
  geom_point(aes(size=-log10(pvalue), fill=Log2FC),
             shape=21,
             color="black") +
  scale_fill_gradient2(name = 'Log2FC\n(Expression)',
                       limit = c(-1.001,1.001),
                       breaks = c(-1.0,-0.5,0.0,0.5,1.0),
                       low='#444283',
                       high='#943934', 
                       mid="white", 
                       midpoint = 0)+
  scale_size_continuous(name = '-Log10 qvalue',
                        limit = c(-0.001,3.1),
                        breaks = c(0,1,2,3))+
  geom_hline(yintercept=c(5.5, 10.5))+
  labs(x=NULL,
       y=NULL,
       title = "Expression of immunomodulatory genes (9p21-Loss vs 9p21-WT)")+
  theme_bw()+
  theme(panel.grid = element_blank(),
        legend.key = element_blank(),
        plot.title = element_text(hjust = 0.5, size = 12),
        axis.text =element_text(size = 10, color = "black"),
        axis.text.y = element_blank(),
        axis.text.x=element_text(angle=45,hjust = 0.5,vjust=0.5))
p1  
# rect anotate
anotate <- data %>% distinct(gene,.keep_all = T)
head(anotate)
p2 <- ggplot(anotate,aes(x = 0,y = gene,label= gene )) +
  geom_text()+
  annotate("rect", 
           ymin = c(0.5,5.5,10.5), ymax = c(5.5,10.5,15.5),
           xmin = -5, xmax = 0.7,
           fill = c('#ecf7fb','#fffbe7','#ffe7df'),
           alpha = 0.5)+
  theme_void()
  
  
p2
# patch
library(patchwork)
library(cowplot)
p2+p1+plot_layout(nrow= 1,
                   width = c(1, 2))

ggsave('bubble_heatmep.pdf',width = 10,height = 5)
f406c1b72f1b66c3f88cb562f1509f15.png
result

后续在AI里稍微调整一下即可~

往期内容

  1. CNS图表复现|生信分析|R绘图 资源分享&讨论群!

  2. 这图怎么画| 有点复杂的散点图

  3. 这图怎么画 | 相关分析棒棒糖图

  4. 组学生信| Front Immunol |基于血清蛋白质组早期诊断标志筛选的简单套路

  5. (免费教程+代码领取)|跟着Cell学作图系列合集

  6. Q&A | 如何在论文中画出漂亮的插图?

  7. 跟着 Cell 学作图 | 桑葚图(ggalluvial)

  8. R实战 | Lasso回归模型建立及变量筛选

  9. 跟着 NC 学作图 | 互作网络图进阶(蛋白+富集通路)(Cytoscape)

  10. R实战 | 给聚类加个圈圈(ggunchull)

  11. R实战 | NGS数据时间序列分析(maSigPro)

  12. 跟着 Cell 学作图 | 韦恩图(ggVennDiagram)


af04e43a560acc0a0cf583fa862030e0.png
木舟笔记矩阵
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值