一边学习,一边总结,一边分享!
由于微信改版,一直有同学反映。存在长时间接收不到公众号的推文。那么请跟随以下步骤,将小杜的生信筆記设置为星标,不错过每一条推文教程。
欢迎关注《小杜的生信笔记》!!
如何加入社群
小杜的生信笔记
,仅有微信社群。
1. 微信群:付费社群。添加小杜好友,加友请知:加友须知!!,加入社群请查看小杜生笔记付费加友入群声明。
2. 小杜个人微信:若你有好的教程或想法,可添加小杜个人微信。值得注意的是,小杜个人微信并不支持免费咨询长时间咨询,但支持小问题2-3个免费咨询。
小杜微信:
知识星球:
本期教程
2022年教程总汇
2023年教程总汇
引言
我们前面分享过桑基图的绘制教程,R语言绘制桑基图教程,这个教程后续一直没更新,为了教程的完整性,我们也更新后续的教程。富集桑基气泡图是在2023年比较火的富集图形之一,自己也找了很多教程来学习。
因此,此图的绘制教程也很多,我们同学也可以在网上查找类似的教程。此外,此图的绘制也相对比较简单,主要是桑基图+富集气泡图,组合形成最终的图形。
今天,我们使用R语言完成此图形的绘制。
Code
> sessionInfo()
R version 4.4.0 (2024-04-24 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 11 x64 (build 22631)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)_China.utf8
[2] LC_CTYPE=Chinese (Simplified)_China.utf8
[3] LC_MONETARY=Chinese (Simplified)_China.utf8
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_China.utf8
time zone: Asia/Shanghai
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] patchwork_1.2.0 cowplot_1.1.3 dittoSeq_1.16.0
[4] cols4all_0.7-1 ggsankey_0.0.99999 lubridate_1.9.3
[7] forcats_1.0.0 stringr_1.5.1 dplyr_1.1.4
[10] purrr_1.0.2 readr_2.1.5 tidyr_1.3.1
[13] tibble_3.2.1 ggplot2_3.5.1 tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] tidyselect_1.2.1 farver_2.1.2
[3] fastmap_1.2.0 SingleCellExperiment_1.26.0
[5] promises_1.3.0 digest_0.6.37
[7] mime_0.12 timechange_0.3.0
[9] lifecycle_1.0.4 ellipsis_0.3.2
[11] magrittr_2.0.3 compiler_4.4.0
[13] rlang_1.1.4 tools_4.4.0
[15] utf8_1.2.4 htmlwidgets_1.6.4
[17] S4Arrays_1.4.1 labeling_0.4.3
[19] curl_5.2.2 pkgbuild_1.4.4
[21] DelayedArray_0.30.1 RColorBrewer_1.1-3
[23] pkgload_1.4.0 abind_1.4-5
[25] miniUI_0.1.1.1 withr_3.0.1
[27] BiocGenerics_0.50.0 grid_4.4.0
[29] stats4_4.4.0 fansi_1.0.6
[31] urlchecker_1.0.1 profvis_0.3.8
[33] xtable_1.8-4 colorspace_2.1-1
[35] spacesXYZ_1.3-0 scales_1.3.0
[37] ggridges_0.5.6 SummarizedExperiment_1.34.0
[39] cli_3.6.3 crayon_1.5.3
[41] remotes_2.5.0 generics_0.1.3
[43] rstudioapi_0.16.0 httr_1.4.7
[45] tzdb_0.4.0 sessioninfo_1.2.2
[47] cachem_1.1.0 zlibbioc_1.50.0
[49] XVector_0.44.0 matrixStats_1.3.0
[51] vctrs_0.6.5 devtools_2.4.5
[53] Matrix_1.7-0 jsonlite_1.8.8
[55] IRanges_2.38.1 hms_1.1.3
[57] S4Vectors_0.42.1 ggrepel_0.9.5
[59] glue_1.6.2 stringi_1.8.4
[61] gtable_0.3.5 later_1.3.2
[63] GenomeInfoDb_1.40.1 GenomicRanges_1.56.1
[65] UCSC.utils_1.0.0 munsell_0.5.1
[67] pillar_1.9.0 htmltools_0.5.8.1
[69] GenomeInfoDbData_1.2.12 R6_2.5.1
[71] microbenchmark_1.4.10 shiny_1.9.1
[73] lattice_0.22-6 Biobase_2.64.0
[75] png_0.1-8 pheatmap_1.0.12
[77] memoise_2.0.1 httpuv_1.6.15
[79] Rcpp_1.0.13 gridExtra_2.3
[81] SparseArray_1.4.8 usethis_3.0.0
[83] MatrixGenerics_1.16.0 fs_1.6.4
[85] pkgconfig_2.0.3
桑基图的绘制
详细教程可看R语言绘制桑基图教程。导入所需的R包
###'@导入所需的R包
library(tidyverse)
# devtools::install_github("davidsjoberg/ggsankey")
library(ggsankey)
library(ggplot2)
#install.packages("cols4all")
library(cols4all)
#BiocManager::install("dittoSeq")
library(dittoSeq)
library(cowplot)
library(patchwork)
绘制桑基图
df <- read.csv("01_inputdata.csv",header = T)
head(df)
##'@转化格式
df2 <- df %>% make_long(geneID,Pathway)
##'@指定绘图显示顺序
df2$node <- factor(df2$node, levels = c(rev(unique(df$Pathway)),
rev(unique(df$geneID))))
head(df2)
##'@绘制基础图形
mycol3 <- c4a('rainbow_wh_rd',53)
mycol3 <- sample(mycol3, length(mycol3))
##'@代码一
p1 <- ggplot(df2, aes(x = x, next_x = next_x, node = node, next_node = next_node,
fill = node, label = node)) +
scale_fill_manual(values = mycol3)+
geom_sankey(flow.alpha = 0.5, #条带不透明度
smooth = 7, #条带弯曲度
width = 0.18) + #节点宽度
geom_sankey_text(size = 3.2, color = 'black',
hjust = 1) +
theme_void() +
theme(legend.position = 'none') #隐藏图例
绘制气泡图