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

这图怎么画| 气泡热图(基因表达泛癌分析)_第1张图片

bubble_cover

写在前面

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

本期图片

这图怎么画| 气泡热图(基因表达泛癌分析)_第2张图片 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种免疫调节基因表达的变化。

复现结果

这图怎么画| 气泡热图(基因表达泛癌分析)_第3张图片

示例数据和代码领取

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

木舟笔记永久VIP企划

「权益:」

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

    这图怎么画| 气泡热图(基因表达泛癌分析)_第4张图片 data+code
  2. 木舟笔记「科研交流群」

「收费:」

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

这图怎么画| 气泡热图(基因表达泛癌分析)_第5张图片

绘图

# 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)
这图怎么画| 气泡热图(基因表达泛癌分析)_第6张图片 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)


这图怎么画| 气泡热图(基因表达泛癌分析)_第7张图片 木舟笔记矩阵

你可能感兴趣的:(这图怎么画| 气泡热图(基因表达泛癌分析))