ggpubr包繪制SCI文章圖(基礎知識)

最近年中總結帆卓,我們學習一些基礎知識纫骑,還有幾天總結就結束了衙熔,期待FFPE做空間轉錄組大放異彩

安裝及加載ggpubr

安裝方式有兩種:

  • 直接從CRAN安裝:
install.packages("ggpubr")

  • GitHub上安裝最新版本:
if(!require(devtools)) install.packages("devtools")
 devtools::install_github("kassambara/ggpubr")

安裝完之后直接加載就行:

library(ggpubr)

ggpubr可繪制圖形:

ggpubr可繪制大部分我們常用的圖形嫉你,下面一一介紹信认。

分布圖(Distribution)

#構建數據集
set.seed(1234)
df <- data.frame( sex=factor(rep(c("f", "M"), each=200)), 
weight=c(rnorm(200, 55), rnorm(200, 58)))
head(df)

##   sex   weight
## 1  f   53.79293
## 2  f   55.27743
## 3  f   56.08444
## 4  f   52.65430
## 5  f   55.42912
## 6  f   55.50606

密度分布圖以及邊際地毯線并添加平均值線

ggdensity(df, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex",
palette = c("#00AFBB", "#E7B800"))

image

帶有均值線和邊際地毯線的直方圖

gghistogram(df, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex",
palette = c("#00AFBB", "#E7B800"))

image

箱線圖與小提琴圖

#加載數據集ToothGrowth
data("ToothGrowth")
df1 <- ToothGrowth
head(df1)

##    len  supp  dose
## 1  4.2   VC    0.5
## 2  11.5  VC    0.5
## 3  7.3   VC    0.5
## 4  5.8   VC    0.5
## 5  6.4   VC    0.5
## 6  10.0  VC    0.5

p <- ggboxplot(df1, x="dose", y="len", color = "dose", 
palette = c("#00AFBB", "#E7B800", "#FC4E07"), 
add = "jitter", shape="dose")#增加了jitter點,點shape由dose映射p

image

增加不同組間的p-value值均抽,可以自定義需要標注的組間比較

my_comparisons <- list(c("0.5", "1"), c("1", "2"), c("0.5", "2"))
p+stat_compare_means(comparisons = my_comparisons)+#不同組間的比較
stat_compare_means(label.y = 50)

image

內有箱線圖的小提琴圖

ggviolin(df1, x="dose", y="len", fill = "dose", 
palette = c("#00AFBB", "#E7B800", "#FC4E07"), 
add = "boxplot", add.params = list(fill="white"))+ 
stat_compare_means(comparisons = my_comparisons, label = "p.signif")+#label這里表示選擇顯著性標記(星號) 
stat_compare_means(label.y = 50)

image

條形圖

data("mtcars")
df2 <- mtcars
df2$cyl <- factor(df2$cyl)
df2$name <- rownames(df2)#添加一行name
head(df2[, c("name", "wt", "mpg", "cyl")])

image

按從小到大順序繪制條形圖(不分組排序)

ggbarplot(df2, x="name", y="mpg", fill = "cyl", color = "white", 
palette = "jco",#雜志jco的配色 
sort.val = "desc",#下降排序 
sort.by.groups=FALSE,#不按組排序 
x.text.angle=60)

image

按組進行排序

ggbarplot(df2, x="name", y="mpg", fill = "cyl", color = "white", 
palette = "jco",#雜志jco的配色 
sort.val = "asc",#上升排序,區(qū)別于desc嫁赏,具體看圖演示 
sort.by.groups=TRUE,#按組排序 
x.text.angle=90)

image

偏差圖

偏差圖展示了與參考值之間的偏差

df2$mpg_z <- (df2$mpg-mean(df2$mpg))/sd(df2$mpg)
df2$mpg_grp <- factor(ifelse(df2$mpg_z<0, "low", "high"), levels = c("low", "high"))
head(df2[, c("name", "wt", "mpg", "mpg_grp", "cyl")])

image

繪制排序過的條形圖

ggbarplot(df2, x="name", y="mpg_z", fill = "mpg_grp", color = "white", 
palette = "jco", sort.val = "asc", sort.by.groups = FALSE, x.text.angle=60, 
ylab = "MPG z-score", xlab = FALSE, legend.title="MPG Group")

image

坐標軸變換

ggbarplot(df2, x="name", y="mpg_z", fill = "mpg_grp", color = "white", 
palette = "jco", sort.val = "desc", sort.by.groups = FALSE, 
x.text.angle=90, ylab = "MPG z-score", xlab = FALSE, 
legend.title="MPG Group", rotate=TRUE, ggtheme = theme_minimal())

image

點圖(Dot charts)

棒棒糖圖(Lollipop chart)

棒棒圖可以代替條形圖展示數據

ggdotchart(df2, x="name", y="mpg", color = "cyl", 
palette = c("#00AFBB", "#E7B800", "#FC4E07"), sorting = "ascending", 
add = "segments", ggtheme = theme_pubr())

image

可以自設置各種參數

ggdotchart(df2, x="name", y="mpg", color = "cyl", 
palette = c("#00AFBB", "#E7B800", "#FC4E07"), sorting = "descending", 
add = "segments", rotate = TRUE, group = "cyl", dot.size = 6, 
label = round(df2$mpg), font.label = list(color="white", size=9, vjust=0.5), 
ggtheme = theme_pubr())

image

偏差圖

ggdotchart(df2, x="name", y="mpg_z", color = "cyl", 
palette = c("#00AFBB", "#E7B800", "#FC4E07"), sorting = "descending", 
add = "segment", add.params = list(color="lightgray", size=2), 
group = "cyl", dot.size = 6, label = round(df2$mpg_z, 1), 
font.label = list(color="white", size=9, vjust=0.5), ggtheme = theme_pubr())+ 
geom_line(yintercept=0, linetype=2, color="lightgray")

image

Cleveland點圖

ggdotchart(df2, x="name", y="mpg", color = "cyl", 
palette = c("#00AFBB", "#E7B800", "#FC4E07"), sorting = "descending", 
rotate = TRUE, dot.size = 2, y.text.col=TRUE, ggtheme = theme_pubr())+ 
theme_cleveland()

image

當然,還有很多其他的圖表功能

3. 更多

image
image.png
image
image

Make MA-plot which is a scatter plot of log2 fold changes (on the y-axis) versus the mean expression signal (on the x-axis).

image

MA plot充分展示了基因豐度和表達變化之間的關系油挥。我們可以看到潦蝇,越靠左下或者右上的點款熬,就是豐度越高而且變化幅度越大的基因。當然了攘乒,MA plot就丟了FDR這類統計量贤牛。二維圖嘛,死活兩個參數则酝,頂多用顏色做個假三維殉簸。
不過對于終端小白用戶來說,如果在volcano plot和MA plot中發(fā)現了重疊的靶點(實際上會有不少重疊)沽讹,那就愉快地拿去做實驗吧般卑。

  • 基因豐度:基因組中某基因的拷貝數。
  • 基因表達豐度:某基因轉錄的mRNA數量爽雄◎鸺欤可以用RT-qPCR來檢測。
  • 表達變化(fold change):就是倍數變化挚瘟,假設A基因表達值為1叹谁,B表達值為3,那么B的表達就是A的3倍乘盖。一般我們都用count焰檩、TPM或FPKM來衡量基因表達水平,所以基因表達值肯定是非負數订框,那么fold change的取值就是(0, +∞).
  • 差異的顯著性:P-value來衡量析苫。假設檢驗首先必須要有假設,我們假設A和B的表達沒有差異(H0布蔗,零假設)藤违,然后基于此假設浪腐,通過t test(以RT-PCR為例)算出我們觀測到的A和B出現的概率纵揍,就得到了P-value,如果P-value<0.05议街,那么說明小概率事件出現了泽谨,我們應該拒絕零假設,即A和B的表達不一樣特漩,即有顯著差異吧雹。

基礎知識,多多學習

?著作權歸作者所有,轉載或內容合作請聯系作者
禁止轉載涂身,如需轉載請通過簡信或評論聯系作者雄卷。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蛤售,隨后出現的幾起案子丁鹉,更是在濱河造成了極大的恐慌妒潭,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揣钦,死亡現場離奇詭異雳灾,居然都是意外死亡,警方通過查閱死者的電腦和手機冯凹,發(fā)現死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門谎亩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宇姚,你說我怎么就攤上這事匈庭。” “怎么了空凸?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵嚎花,是天一觀的道長。 經常有香客問我呀洲,道長紊选,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任道逗,我火速辦了婚禮兵罢,結果婚禮上,老公的妹妹穿的比我還像新娘滓窍。我一直安慰自己卖词,他們只是感情好,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布吏夯。 她就那樣靜靜地躺著此蜈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪噪生。 梳的紋絲不亂的頭發(fā)上裆赵,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機與錄音跺嗽,去河邊找鬼战授。 笑死扁凛,一個胖子當著我的面吹牛局冰,可吹牛的內容都是我干的。 我是一名探鬼主播蟹肘,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼璃吧,長吁一口氣:“原來是場噩夢啊……” “哼楣导!你這毒婦竟也來了?” 一聲冷哼從身側響起畜挨,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤筒繁,失蹤者是張志新(化名)和其女友劉穎彬坏,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體膝晾,經...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡栓始,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了血当。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幻赚。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖臊旭,靈堂內的尸體忽然破棺而出落恼,到底是詐尸還是另有隱情,我是刑警寧澤离熏,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布佳谦,位于F島的核電站,受9級特大地震影響滋戳,放射性物質發(fā)生泄漏钻蔑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一奸鸯、第九天 我趴在偏房一處隱蔽的房頂上張望咪笑。 院中可真熱鬧,春花似錦娄涩、人聲如沸窗怒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扬虚。三九已至,卻和暖如春球恤,著一層夾襖步出監(jiān)牢的瞬間辜昵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工碎捺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留路鹰,地道東北人贷洲。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓收厨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親优构。 傳聞我的和親對象是個殘疾皇子诵叁,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內容