ggplot2绘制气泡图

> plotGO <- read.csv(file = "clipboard",header = T,sep = "\t")

> head(plotGO)


上图中Sig_gene_number表示该条目下显著性基因的个数,B_gene_number表示该条目下共有几个基因(背景基因)。geneRatio就是Sig_gene_number除以B_gene_number。


GO_term1 <- c("Biological Process","Cellular Component")   # 设置分面时,会用到,这是我想要在分面的标题上展示出来的

names(GO_term1) <- c("biological_process","cellular_component")   # 这是数据中的内容,默认会作为分面的标题


ggplot(data = plotGO)+

  geom_point(mapping = aes(geneRatio,y = reorder(GO_Term,Sig_gene_number),size = Sig_gene_number,color = pvalue))+

  scale_color_gradient(low = "#FF0000",high = "#0000FF")+          # 调整主函数中color的颜色

  labs(color = "P-value",size = "Sig gene number",y = "GO term")+            # 调整图例的名称

  theme(panel.background = element_blank(),

        panel.grid.major.y = element_line(colour = "grey",linetype = 2),

        axis.line = element_line(colour = "black",size = rel(2)),

        axis.title = element_text(size = rel(1.2)),

        axis.text = element_text(size = rel(1.2)),

        axis.text.y = element_text(angle = 30,hjust = 1),        #调整纵坐标文字的角度

        axis.ticks = element_line(size = rel(1.5)),

        strip.background = element_rect(fill = "white",color = "red",size = rel(1.2)),

        strip.text = element_text(size = rel(1.2)))+

  facet_wrap(facets = "GO_function",scales = "free_y",nrow = 3,strip.position = "left",labeller = labeller(GO_function = GO_term1))

#分面函数,参数facets表示以哪个因素为基准进行分面,参数scales表示调整哪个坐标轴的刻度来适应分面后的图形(默认为固定),参数strip.position表示将分面的标题放在上下左右那个位置,参数labeller可以修改分面的标题(需要另外设置,上文中已提到如何设置),其他更详细的调整可以使用theme函数(上面用到了strip.background和strip.text)


最终画出来的图片展示:


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容