小編導(dǎo)讀
對(duì)于我們多數(shù)同學(xué)來說,ggplot2 絕對(duì)是數(shù)據(jù)可視化的神兵利器。然而,面對(duì)日益復(fù)雜的科研需求(例如多組學(xué)數(shù)據(jù)展示、系統(tǒng)發(fā)育樹結(jié)合、生存分析、空間轉(zhuǎn)錄組映射等),基礎(chǔ)的 ggplot2 有時(shí)也會(huì)顯得力不從心。幸運(yùn)的是,R 社區(qū)擁有一個(gè)極其繁榮的 ggplot2 擴(kuò)展生態(tài)系統(tǒng)!官方專門設(shè)立了 ggplot2 Extensions 網(wǎng)站 以及資源庫 Gallery,專門追蹤和收錄由全球 R 用戶開發(fā)的強(qiáng)大擴(kuò)展包。
為了方便大家快速找到自己需要的畫圖工具,我們從中精選了部分對(duì)生信分析、多組學(xué)研究和統(tǒng)計(jì)繪圖極具實(shí)用價(jià)值的工具。遇到畫圖難題時(shí),不妨來這里找找“秘密武器”!
重點(diǎn)推薦:生信與多組學(xué)可視化神器
這 4 個(gè)R包專為復(fù)雜數(shù)據(jù)與生物學(xué)數(shù)據(jù)量身定制,是生信人日常分析的得力助手,建議優(yōu)先掌握。
1. ggtree
功能簡介: 大牛Y叔出品的樹圖繪制工具。不僅能精美地展示系統(tǒng)發(fā)育樹 (Phylogenetic tree),還能將樹結(jié)構(gòu)與豐富的注釋數(shù)據(jù)(如表達(dá)量熱圖、物種分類豐度、進(jìn)化特征等)完美對(duì)齊并映射在一起。宏基因組和進(jìn)化分析必備。
[圖片上傳失敗...(image-95b912-1774792688839)]
2. ggseqlogo
功能簡介: 繪制出版級(jí)的序列 Logo 圖 (Sequence logos)。無論是 DNA 啟動(dòng)子基序 (motif) 分析,還是蛋白質(zhì)氨基酸保守性分析,都能輕松呈現(xiàn)高頻序列特征。
[圖片上傳失敗...(image-508d19-1774792688839)]
3. patchwork
功能簡介: 極度推薦的高階圖表整合工具!用最簡單的加減乘除運(yùn)算符 (+, |, /) 就能完美排版和拼接多個(gè) ggplot 圖形。做生信分析時(shí),組合生存曲線、熱圖和箱線圖變得異常輕松。
[圖片上傳失敗...(image-91c659-1774792688839)]
4. ggrepel
功能簡介: 完美解決散點(diǎn)圖/火山圖中文字標(biāo)簽重疊成一團(tuán)黑影的問題。它能智能排斥文字標(biāo)簽,自動(dòng)將它們錯(cuò)開,是每一位生信分析師發(fā)文章的必裝包。
[圖片上傳失敗...(image-a8d424-1774792688839)]
交互式圖表:以 ggiraph 為例
如果你的課題需要做網(wǎng)頁展示(Shiny App)或需要和數(shù)據(jù)進(jìn)行深入的交互探索,強(qiáng)烈推薦使用 ggiraph 包。
ggiraph 是一個(gè)非常強(qiáng)大的 htmlwidget 包,它可以將靜態(tài)的 ggplot 轉(zhuǎn)換成動(dòng)態(tài)的、可懸停交互的圖形。您只需將普通的 geom_point() 替換為 geom_point_interactive() 并提供一個(gè) tooltip 參數(shù),就能讓讀者鼠標(biāo)懸停在點(diǎn)上時(shí),查看到對(duì)應(yīng)基因的名字、表達(dá)量等詳細(xì)信息。
代碼示例:
library(ggiraph)
library(tidyverse)
mtcars_db <- rownames_to_column(mtcars, var = "carname")
gg <- ggplot(
data = mtcars_db,
mapping = aes(
x = disp, y = qsec,
# here we add iteractive aesthetics
tooltip = carname, data_id = carname
)) + geom_point_interactive(
size = 3, hover_nearest = TRUE)
# turn as girafe
girafe(ggobj = gg)
[圖片上傳失敗...(image-364ca-1774792688839)]
AI輔助,事半功倍
對(duì)于剛接觸 R 語言或這些擴(kuò)展包的師弟師妹們,學(xué)習(xí)成本可能有點(diǎn)高,語法也容易忘?,F(xiàn)在,有了最近非常流行的 OpenClaw/claude code/opencode/codebuddy等 AI agent助理環(huán)境,你可以把寫代碼和查錯(cuò)的繁瑣任務(wù)交給 AI 助手!
比如可以這樣使用 OpenClaw:
"請(qǐng)幫我用 R 語言讀取工作區(qū)里的
gene_expression.csv,然后用ggvolcano畫一個(gè)火山圖,最后再用ggiraph把這個(gè)火山圖做成交互式的 HTML 文件,當(dāng)鼠標(biāo)懸停在點(diǎn)上時(shí)能顯示基因名稱。"
OpenClaw 可以在其終端內(nèi)自動(dòng)編寫、調(diào)試并執(zhí)行這些 R 代碼,甚至能直接把生成的動(dòng)態(tài)圖表保存下來,它簡直就是生信新手的“貼身帶教導(dǎo)師”!
寫在最后
掌握基礎(chǔ)的 ggplot2 是繪圖的基石,而善用官方擴(kuò)展包能讓大家在數(shù)據(jù)匯報(bào)中如虎添翼。不妨挑出自己課題最相關(guān)的幾個(gè)包,結(jié)合 OpenClaw 助理,一起動(dòng)手跑跑代碼吧!
?? 更多生信常用擴(kuò)展包一覽表
以下是分類整理的其他高頻實(shí)用擴(kuò)展包,可以根據(jù)具體的課題需求,去官網(wǎng)查閱它們的官方說明文檔。
| 擴(kuò)展包名稱 | 核心應(yīng)用場景 | 解決的痛點(diǎn) / 優(yōu)勢(shì) |
|---|---|---|
| gggenomes | 比較基因組學(xué) | 輕松繪制基因組共線性、基因倒位和易位結(jié)構(gòu)對(duì)比圖。 |
| gggenes | 基因排列圖 | 展示基因在染色體/質(zhì)粒上的排列、方向以及操縱子結(jié)構(gòu)。 |
| ggtranscript | 轉(zhuǎn)錄本結(jié)構(gòu)可視化 | 適合展示可變剪接和單細(xì)胞同源異構(gòu)體的外顯子/內(nèi)含子結(jié)構(gòu)。 |
| ggpca | 降維聚類分析 | 快速輸出單細(xì)胞分析常用的出版級(jí) PCA, t-SNE 和 UMAP 圖。 |
| gganatogram | 解剖圖譜可視化 | 將基因表達(dá)量映射到人體或小鼠的特定組織或器官圖譜上。 |
| ggstatsplot | 統(tǒng)計(jì)繪圖 | 將統(tǒng)計(jì)檢驗(yàn)結(jié)果 (如 P 值、效應(yīng)量) 無縫嵌入 ggplot,一步到位出圖。 |
| ggpubr | 出版級(jí)統(tǒng)計(jì)圖 | 極大簡化箱線圖/小提琴圖的顯著性標(biāo)記 (P值) 添加。 |
| ggupset | 復(fù)雜交集可視化 | Upset 圖是韋恩圖的高級(jí)替代品,適合展示 4 個(gè)以上基因集的相交情況。 |
| ggsurvfit | 生存分析 | 優(yōu)雅地繪制帶有 P 值和 Risk table 的 Kaplan-Meier 生存曲線。 |
| ggvolcano | 差異分析火山圖 | 專門用于一鍵生成美觀且符合發(fā)文規(guī)范的差異基因火山圖。 |
| ggsci | 學(xué)術(shù)配色庫 | 提供頂級(jí)科學(xué)期刊 (Nature, Science, Lancet) 的經(jīng)典配色方案。 |
| ggh4x | 復(fù)雜分面/坐標(biāo)軸 | 精細(xì)控制多組學(xué)圖表每個(gè)分面的比例和多重顏色映射。 |
| ggalluvial | 沖積圖/?;鶊D | 展示單細(xì)胞軌跡、狀態(tài)轉(zhuǎn)換或多組學(xué)數(shù)據(jù)流向的對(duì)應(yīng)關(guān)系。 |
| ggrastr | 大數(shù)據(jù)量渲染 | 僅光柵化海量散點(diǎn)(如單細(xì)胞點(diǎn)圖),保留坐標(biāo)系矢量化,解決PDF過大問題。 |