需要的文件格式
制表符的txt、csv格式,Excel也可以,但需要加載xlxs包
install.packages("xlsx") #安裝xlxs包
讀取目標(biāo)表格
group <-read.table("boxplot.txt",header = T) #header 表示需要表頭

1.png
一、ggplot2作圖 (復(fù)雜)
-
給某一個(gè)基因作圖,如
ANKLE1
library(ggplot2)
#x軸是類型,Y軸是基因表達(dá)量
ggplot(group, aes(type,ANKLE1,fill=type))+geom_boxplot() #第一種簡(jiǎn)化代碼 fill表示填充

2.png
ggplot(group, aes(type,ANKLE1,color=type))+geom_boxplot() #第二種簡(jiǎn)化代碼 color表示空白顏色

3.png
ggplot(group, aes(type,ANKLE1,color=type))+geom_boxplot()+geom_jitter() #第三種簡(jiǎn)化代碼 加點(diǎn)

4.png
添加標(biāo)準(zhǔn)誤
ggplot(group, aes(type,ANKLE1,color=type))+stat_boxplot(geom = "errorbar")+geom_boxplot()+geom_jitter() #第三種簡(jiǎn)化代碼 加點(diǎn)
#給兩組添加顯著性標(biāo)記
library(ggsignif) #加載包
ggplot(group,aes(type,ANKLE1,fill=type))+geom_boxplot()+geom_signif(comparisons = list(c("Normal","Tumor"))) #list 添加需要比較的組

5.png
-
給所有基因作圖并分面顯示
首先進(jìn)行數(shù)據(jù)轉(zhuǎn)換,也就是把所有基因全部合并成一列
library(tidyr)
library(reshape2)
mydata<-melt(group, #待轉(zhuǎn)換的數(shù)據(jù)集名稱
id.vars=c("sample","primary_site","type"), #要保留的主字段
variable.name="Group", #轉(zhuǎn)換后的分類字段名稱(維度)
value.name="value" #轉(zhuǎn)換后的度量值名稱
)

6.png
所有基因作圖并
分面
ggplot(mydata, aes(type,value,color=type)) #可以用color,也可以用fill
+geom_boxplot() #作圖
+geom_jitter() #加點(diǎn)
+facet_wrap(~Group, scales = "free") #分面,~后面接長(zhǎng)數(shù)據(jù)表頭,scales表示單獨(dú)分面,如果不設(shè)置則默認(rèn)所有數(shù)據(jù)按值一起分面
+geom_signif(comparisons = list(c("Normal","Tumor"))) #顯著性標(biāo)記
+theme_bw() #設(shè)置背景

7.png
二、ggpurb作圖 (簡(jiǎn)單)
ggboxplot(mydata,"type","value",color = "type",#記得有引號(hào)
palette = "ncp",#有各種雜志風(fēng)格,如“npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" 和 "rickandmorty".
add = "jitter",shape="type", #加點(diǎn),按類型分不同的點(diǎn)
facet.by = "Group",scale="free") #分面
+stat_compare_means(method = "t.test") #加統(tǒng)計(jì)顯著,括號(hào)里不填默認(rèn)是非參數(shù)檢驗(yàn)

8.png
ggboxplot(mydata,"type","value",color = "type",#記得有引號(hào)
palette = "ncp",#有各種雜志風(fēng)格,如“npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" 和 "rickandmorty".
add = "jitter",shape="type", #加點(diǎn),按類型分不同的點(diǎn)
facet.by = "Group",scale="free") #分面
+stat_compare_means() #加統(tǒng)計(jì)顯著,括號(hào)里不填默認(rèn)是非參數(shù)檢驗(yàn)

9.png