整理畢業(yè)論文數(shù)據(jù)的時候,想將RNA-seq上游的一些分析結(jié)果可視化,主要是比對和定量的結(jié)果,通過圖表展示反而沒有那么直觀,經(jīng)過一番摸索,最后畫出了下面的圖。
如有問題,請多多指教!

準(zhǔn)備數(shù)據(jù)
我的數(shù)據(jù)是4個不同處理,分別為HNa、HTa、THa、TNa,每個處理3個重復(fù),想要同時展示Mapped和Assigned率。

首先我們先給數(shù)據(jù)加上分組信息,便于后續(xù)作圖。

把數(shù)據(jù)放到放到txt中(其他格式文件也可以,看個人習(xí)慣),去掉百分號并保存為maprate.txt。
作圖
1 讀入數(shù)據(jù)并處理
maprate?<-?read.csv('maprate.txt',header?=?T,sep?=?"")?#?數(shù)據(jù)讀取
maprate$Assigned=maprate$Assigned*-1?#?將Assigned變成負(fù)值
library(reshape2)
longdata?<-?melt(maprate)?#?寬數(shù)據(jù)轉(zhuǎn)長數(shù)據(jù)
2 作圖
library(ggplot2)
ggplot(longdata,?aes(SampleName,?value,?fill?=?Group))?+
??geom_col(position?=?position_dodge(width?=?0.5),?
???????????width?=?0.5,?size?=?0.3,?colour?=?'black')?+?#?柱形圖繪制
??theme_classic()+?#?主題設(shè)置
3 美化
我們來加億點(diǎn)點(diǎn)細(xì)節(jié)。
library(ggplot2)
library(ggsci)
library(ggbreak)
ggplot(longdata,?aes(SampleName,?value,?fill?=?Group))?+
??geom_col(position?=?position_dodge(width?=?0.5),?
???????????width?=?0.5,?size?=?0.3,?colour?=?'black')?+?#?柱形圖繪制
??theme_classic()+?#?主題設(shè)置
??scale_fill_npg()+?#?顏色設(shè)置
??labs(x?=?'Sample?Name',?y?=?'Rate(%)')?+?#設(shè)置坐標(biāo)軸標(biāo)簽
??scale_y_break(c(-70,?95),?scales?=?1.5)?+?#?坐標(biāo)軸截斷
??theme(axis.text?=?element_text(size?=?12))?+?#?修改字體大小
??theme(axis.title?=?element_text(size?=?14))+
??annotate('text',label?=?'Mapped',?2,?96,size=6)?+?#?修改標(biāo)簽位置和大小
??annotate('text',label?=?'Assigned',?2,?-79,size=6)+
??scale_y_continuous(breaks?=?seq(-90,?100,?1),?
?????????????????????labels?=?as.character(abs(seq(-90,?100,?1))),?
?????????????????????limits?=?c(-89,?98))?#?截斷的數(shù)值顯示
現(xiàn)在已經(jīng)好很多了,不過還是不夠好看,不妨通過eoffice將圖導(dǎo)入到PPT進(jìn)行微調(diào)。
topptx(filename?=?"test.pptx",width?=?8,height?=?6)在工作目錄中找到test.pptx,取消圖形的組合。

我對其進(jìn)行以下操作
- 去掉右側(cè)多余的坐標(biāo)軸
- 調(diào)整左側(cè)Y軸點(diǎn)的個數(shù)
- 添加截斷標(biāo)志和0線
- 調(diào)整字體為Times New Roman,顏色為黑色,部分加粗
- 加紅框突出
- 其他微調(diào)
最終圖如下:

向公眾號發(fā)送20220427即可獲得示例數(shù)據(jù)和全部已注釋代碼。如果對你有一點(diǎn)點(diǎn)幫助,歡迎點(diǎn)擊下方的【喜歡作者】!
參考資料:
- 《R 中的 scale_y_continuous 函數(shù)》https://www.delftstack.com/zh/howto/r/scale_y_continuous-in-r/
- 《ggbreak:你們要的坐標(biāo)軸截斷,它來了》https://mp.weixin.qq.com/s/l98Pfk4xPykWWuIJs7katw
- 《R語言繪制雙向柱狀圖示例》https://mp.weixin.qq.com/s/trx2tKt-EV4n7W2xs20lAg