轉(zhuǎn)自 小丫畫圖
【提出問題】
A vs B顯著,C vs D顯著,AB vs CD也顯著??墒?,當(dāng)我把ABCD畫到一張圖上時(shí),問題出現(xiàn)了:
由于AB的柱子遠(yuǎn)高于CD,A跟B、C跟D看起來就沒啥區(qū)別了,而且CD還被壓成了肉餅。這可怎么辦?
【解決方案】
小丫畫圖群里的小伙伴分享了他的好辦法:斷開Y軸??葱Ч桑?/p>
*p < 0.05, **p < 0.01, ***p < 0.001
Figure 5. LC-MS analysis of sterols and lipids in WT and fenΔ/Δ cells.
出自Jiaxin Gao, Haitao Wang, Zeyao Li, Ada Hang-Heng Wong, Yi-Zheng Wang, Yahui Guo, Xin Lin, Guisheng Zeng, Yue Wang & Jianbin Wang. (2018) Candida albicans gains azole resistance by altering sphingolipid composition. Nature communications. Oct 29
剛剛online,終于可以拿出來秀啦!
小伙伴嘗試了n種方法,才找到這個(gè)函數(shù):gap.barplot,函數(shù)作者:金子哦。
【特點(diǎn)】
1. 簡(jiǎn)單易用,一行代碼就能實(shí)現(xiàn)
gap.barplot(dt, y.cols = 2:4, sd.cols = 5:7, col = cols, brk.type = brkt, brk.size = 0.6, brk.lwd = 2, max.fold = 5, ratio = 2, cex.error = 0.3)
2. 可以自己設(shè)置斷點(diǎn)位置、比例、形狀、長度,還能自動(dòng)計(jì)算合適的斷點(diǎn)位置;
3. 函數(shù)注釋清晰,方便修改、靈活運(yùn)用。
【寫給小白的初級(jí)模仿指南】
1. 打開網(wǎng)頁:https://blog.csdn.net/u014801157/article/details/24372371
2. 把紅色箭頭所指的方框里的代碼復(fù)制粘貼到文本文件,保存到當(dāng)前文件夾,文件名為gap.barplot.R
3. 在R里面輸入:
source("gap.barplot.R")
4. 把藍(lán)色箭頭所指的方框里的代碼復(fù)制粘貼到R里運(yùn)行
就畫出示例圖啦!
怎樣用你自己的數(shù)據(jù)畫出這樣的圖?
【寫給小白的代碼套用方法】
1. 導(dǎo)出示例數(shù)據(jù)
作者的示例數(shù)據(jù)保存在dt里,運(yùn)行下面這行,把它保存到txt文件里
write.table(dt,"easy_input.txt", sep = "\t", quote = F, row.names = F)
用Excel打開,看懂格式:
第一列Ozone是sample ID,第2到4列是三個(gè)指標(biāo)的均值,第5到7列對(duì)應(yīng)前面三個(gè)指標(biāo)的標(biāo)準(zhǔn)差。
2. 替換成自己的數(shù)據(jù)
用你自己的數(shù)據(jù)依次替換easy_input.txt里的sample ID、均值和標(biāo)準(zhǔn)差。
3. 在R里運(yùn)行下面這段代碼:
source("gap.barplot.R")dt <- read.table("easy_input.txt", header = T, as.is = T) #讀入自己的數(shù)據(jù)
cols <- c("#223D6C","#D20A13","#FFD121") #自定義顏色
gap.barplot(dt, y.cols = 2:4, #均值所在的列 sd.cols = 5:7, #標(biāo)準(zhǔn)差所在的列 col = cols, #bar的顏色 brk.type = "normal", #y軸斷點(diǎn)的類型 brk.size = 0.6, #斷點(diǎn)標(biāo)記線的長度 brk.lwd = 2, #斷點(diǎn)標(biāo)記線的線寬 max.fold = 5, #自動(dòng)計(jì)算斷點(diǎn)時(shí)最大值與下方數(shù)據(jù)最大值的最大倍數(shù)比 ratio = 2, #斷裂后上部與下部y軸長度的比例 cex.error = 0.3) #誤差線相對(duì)長度
圖就出來啦!
【怎樣畫成發(fā)表級(jí)】
上面的代碼實(shí)現(xiàn)了斷開Y軸的基本功能,只能算初稿,需要精心修改調(diào)試,才能達(dá)到發(fā)表級(jí),就像上面paper里的Figure 5那樣。
順便欣賞一下paper里的Figure 4:
Fig. 4 Genetic screens for fluconazole-resistant mutants.
第n次感慨一下!這家伙畫的圖真是美??!
聯(lián)系客服