复现Science图表-词云图|富集分析结果文字展示形式

2024-09-10  本文已影响0人  KS科研分享与服务

接粉丝”举报“,对于一篇Science文章中的图表感兴趣,在复现的过程中,我发现另外一张让人感觉还可以的图形,是关于富集结果的展示。富集分析真的已经展现过各种形式,例如参考:
1、复现Nature图表:分组富集分析条形图展示通路及基因
3、(视频教程)GSEA分析可视化函数/棒棒糖图展示富集结果
4、富集分析柱状图大集合:通路展示在柱子上,等等,有很多种形式。

这篇Science形式我是第一次见,所以复现一下:图的特点是将富集的terms作为主体展示,文字大小和颜色表示了富集的pval,结果一目了然!


(reference:Defining the KRAS- and ERK-dependent transcriptome in KRAS-mutant cancers Jeffrey A. Klomp et al. Science 384, eadk0775 (2024) DOI: 10.1126/science.adk0775)

首先看到这个图第一眼,我想到的是词云图:做一个试试。我们这里直接使用专门做词云的R包wordcloud2。

setwd('D:\\KS项目\\公众号文章\\词云图-富集结果展示')
df <- read.csv('enrichment_datacsv.csv', header = T)
install.packages("wordcloud2") # 安装包
library(wordcloud2) # 加载包

data_plot <- df[,c("Description","LogP")]
data_plot$LogP <- -data_plot$LogP

wordcloud2(data_plot, 
           size = 0.2,
           gridSize=0.05,
           fontFamily="Arial",
           fontWeight="normal",
           rotateRatio=0,
           color=rev(c('#f7fcfd','#e0ecf4','#bfd3e6','#9ebcda','#8c96c6',
                                '#8c6bb1','#88419d','#810f7c','#4d004b')),

           shape='diamond')
image.png

图其实是可以的,但是达不到文献中的效果,不过用这个展示也“别有一番风味”。词云图还是其他的展示形式,例如可以自定义形状等等,但是在富集结果的展示上似乎并不能有好的效果,此外,在展示关键基因的时候,可以使用词云。最后,词云的使用可以检索其他网上优秀的教程,很详细,我们不再赘述。

回归正题,复现这个图,ggplot就可以完成:不做任何图形,只展示文字即可!

library(ggplot2)

data_plot <- df[,c("Description","LogP")]
data_plot$LogP <- -data_plot$LogP

data_plot$x <- 1
data_plot$Description <- factor(data_plot$Description, levels = data_plot$Description)



ggplot(data_plot, aes(x,rev(Description)))+
  geom_text(aes(label=Description, color=LogP, size=LogP))+
  theme_classic()+
  theme(axis.ticks = element_blank(),
        axis.text = element_blank(),
        axis.line = element_blank(),
        axis.title = element_blank(),
        plot.margin = unit(c(1,1,1,1),units = "cm"))+
  scale_color_gradientn(colors=c('#d0d1e6','#a6bddb','#74a9cf','#3690c0','#0570b0','#045a8d'))+
  guides(size="none",
         colour=guide_colorbar(title = "-Log(p-value)"))+
  scale_size_area(max_size = 6)+
  coord_cartesian(ylim = c(0,21))+
  geom_hline(aes(yintercept = 21), colour="black", linewidth=1, linetype="solid")+
  labs(title = 'ENRICMENT OF DIFFERENTIALLY EXPRESSED GENES')+
  theme(plot.title = element_text(hjust = 0.5))
image.png

这样就进行了完美的复现了,希望这个分享对你有用!

上一篇下一篇

猜你喜欢

热点阅读