在高通量文章中崭放,經(jīng)常會出現(xiàn)散點圖這種結(jié)果展示形式鬼吵,如下圖扣甲,用來展示兩組數(shù)據(jù)之間的表達分布,體現(xiàn)兩組數(shù)據(jù)整體的差異分布情況而柑。X軸和Y軸分別代表兩組的表達值文捶,藍色代表兩組無差異的基因荷逞,紅色代表上調(diào)基因(相對于WT 組而言)媒咳,綠色代表下調(diào)基因(相對于WT組而言)。
Figure1
image
image
今天呢种远,來簡單演示下散點圖的繪制方法涩澡,有數(shù)據(jù)的小伙伴可以試試!
首先清除環(huán)境坠敷,安裝并加載所需要的R包
rm(list = ls()) #清除環(huán)境內(nèi)存
#install.packages("ggplot2")
#install.packages("RColorBrewer")
library(ggplot2)
library(RColorBrewer)
導(dǎo)入數(shù)據(jù)妙同,兩分組數(shù)據(jù)射富,取自差異基因結(jié)果
data<-read.table("Scatter.txt",header = T,sep ="\t")
head(data)#數(shù)據(jù)包括兩組各自的平均表達值,F(xiàn)C和P值. 若是其他數(shù)據(jù)需要做成類似的輸入結(jié)構(gòu)粥帚。
## Gene.Symbol IL_4 Kong FC P
## 1 HIST1H3G 1.86 2.02 -1.12 0.0134
## 2 TNFAIP8L1 4.42 4.43 -1.00 0.3770
## 3 OTOP2 2.70 2.64 1.05 0.6371
## 4 C17orf78 1.49 1.40 1.07 0.5306
## 5 CTAGE15 1.53 1.42 1.07 0.1518
## 6 F8A1 3.11 3.02 1.06 0.8245
data$regulation = as.factor(ifelse(data$P < 0.05 & abs(data$FC) > 1.5,
ifelse(data$FC > 1.5 ,'UP','DOWN'),'NOT')) #在原數(shù)據(jù)中添加regulation這一列,包含的是上下調(diào)情況,用于后期繪圖的顏色映射
head(data)
## Gene.Symbol IL_4 Kong FC P regulation
## 1 HIST1H3G 1.86 2.02 -1.12 0.0134 NOT
## 2 TNFAIP8L1 4.42 4.43 -1.00 0.3770 NOT
## 3 OTOP2 2.70 2.64 1.05 0.6371 NOT
## 4 C17orf78 1.49 1.40 1.07 0.5306 NOT
## 5 CTAGE15 1.53 1.42 1.07 0.1518 NOT
## 6 F8A1 3.11 3.02 1.06 0.8245 NOT
繪制散點圖
g=ggplot(data=data, aes(x=Kong, y=IL_4, color=regulation)) +
geom_point(alpha=0.8,size=1) + #以點圖形式呈現(xiàn)
xlab("kong") + ylab("IL4") + #定義X軸和Y軸的名稱
scale_colour_manual(values = c('blue','grey',"red")) + #設(shè)置具體顏色
theme_bw(base_size=15)+ #去除灰色背景并設(shè)置字體大小
theme(panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+ #去除背景格線
labs(title = "Scatter plot")+ #設(shè)置標(biāo)題
theme(plot.title = element_text(size=15,hjust = 0.5)) #標(biāo)題大小和位置
print(g)
image
繪制散點圖(更加美觀)
g1=ggplot(data=data, aes(x=Kong, y=IL_4)) +
geom_point(data=subset(data,abs(data$FC) <= 1.5),aes(size=abs(FC)),color="gray",alpha=0.1) +
geom_point(data=subset(data,data$P<0.05 & data$FC > 1.5),aes(size=abs(FC)),color="red",alpha=0.5) +
geom_point(data=subset(data,data$P<0.05 & data$FC < -1.5),aes(size=abs(FC)),color="darkgreen",alpha=0.5) +
scale_size(range = c(1,20))+
xlab("kong") + ylab("IL4") + #定義X軸和Y軸的名稱
theme_bw(base_size=15)+ #去除灰色背景并設(shè)置字體大小
theme(panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+ #去除背景格線
labs(title = "Scatter plot")+ #設(shè)置標(biāo)題
theme(plot.title = element_text(size=15,hjust = 0.5),legend.position='none') #標(biāo)題大小和位置
print(g1)
image
保存為pdf格式
ggsave("Scatter.pdf", width = 15, height = 12, units = "cm") # ggsave可將圖保存為多種格式胰耗。
更多內(nèi)容可關(guān)注公共號“YJY技能修煉”~~~