三元图的应用场景:三分组以上, 直观展示某个因素(可数值量化的)在三个条件下的倾向性!
1. 直观展示基因表达在三组的表达偏向性
首先清除环境,安装并加载所需要的R包
rm(list = ls()) #清除环境内存
install.packages("ggplot2")
install.packages("ggtern")
library("ggtern")
library("ggplot2")
载入数据(主体数据为三分组数据)
data<-read.table("Ternary1.txt",header = T,sep ="\t")
head(data)#查看数据
## gene_name Negative Neutral Positive average enrichment
## 1 NRGN 2.3699806 0.073607064 0.82261289 1.0887335 Negative
## 2 NONO 0.3744240 0.003200307 0.02625360 0.1346260 Negative
## 3 ZBED3 2.8678412 0.019201843 0.57757927 1.1548741 Negative
## 4 B4GAT1 6.9865054 0.092808907 1.26892414 2.7827462 Negative
## 5 PGAP2 0.3949968 0.006400614 0.19252642 0.1979746 Negative
## 6 HYI 0.1152074 0.003200307 0.06125841 0.0598887 Negative
绘图,建立数据的映射关系
具体的取值映射可自行定义,本次用平均表达值以及富集对象为映射
p<-ggtern(data=data,aes(x=Negative,y=Neutral,z=Positive))+ #X,Y,Z轴分别映射三分组表达值
geom_point(aes(size=average,color=enrichment),alpha=0.8)+ #以点图形式呈现,大小映射的是平均值,颜色映射的是最大值对应组即enrichment)
scale_colour_manual(values = c("grey","#f68b23","#00a070"))+ #自定义设置颜色
theme_rgbw(base_size = 12 )+ #设置背景样式和字体大小,背景样式可通过theme_bw查询
labs(title = "Ternary plot")+ #设置标题
theme(plot.title = element_text(size=15,hjust = 0.5)) ##标题大小和位置
# + theme_legend_position(x="topright") #更改图注位置,topleft, middleleft, bottomleft, topright, middleright and bottomright
print(p)
添加基因信息
p1=p+geom_text(data=subset(data,average>5),
aes(label=data[data$average>5,][,1],
size=3),col="black",check_overlap = F,
hjust = 1.5,vjust = 0.5,angle = 45)
#?geom_text() #查看函数用法
print(p1)
输出PDF结果
ggsave("Ternary1.pdf", width = 18, height = 12, units = "cm") # ggsave可将图保存为多种格式
2. 直观展示不同功能在三组中的偏向性
首先清除环境,安装并加载所需要的R包
rm(list = ls()) #清除环境内存
#install.packages("ggplot2")
#install.packages("ggtern")
library("ggtern")
library("ggplot2")
载入数据(主体数据为三分组数据)
data<-read.table("Ternary2.txt",header = T,sep ="\t")
head(data) #查看数据
## gene_name Negative Neutral Positive average Pathway
## 1 PSMB6 0.61718246 0.022402150 0.19252642 0.27737034 adherens junction
## 2 CHMP5 0.32093488 0.003200307 0.05250721 0.12554746 adherens junction
## 3 EVPL 0.67478616 0.006400614 0.41130645 0.36416441 adherens junction
## 4 ARHGEF16 0.16869654 0.009600921 0.05250721 0.07693489 adherens junction
## 5 USO1 0.34562218 0.048004607 0.34129684 0.24497454 adherens junction
## 6 CADM2 0.09874919 0.003200307 0.01750240 0.03981730 adherens junction
绘图,建立数据的映射关系
具体的取值映射可自行定义,本次用功能分类为映射
p<-ggtern(data=data,aes(x=Negative,y=Neutral,z=Positive))+ #X,Y,Z轴分别映射三分组表达值
geom_point(aes(size=average,color=Pathway),alpha=0.8)+ #以点图形式呈现,大小映射的是平均值,颜色映射的是最大值对应组即enrichment)
scale_colour_manual(values = c("#00a070","#7e532f"))+ #自定义设置颜色
theme_rgbw(base_size = 12 )+ #设置背景样式和字体大小,背景样式可通过theme_bw查询
labs(title = "Ternary plot")+ #设置标题
theme(plot.title = element_text(size=15,hjust = 0.5)) #标题大小和位置
print(p)
输出PDF结果
ggsave("Ternary2.pdf", width = 15, height = 12, units = "cm") # ggsave可将图保存为多种格式
往期回顾
R绘图 | 两组genes的累积曲线分布比较!
R绘图 | 基于文献结果图的重现思考!
R绘图 | Cell-Type Enrichment分析探索
R绘图|韦恩图的常见绘制方法
R绘图|ggplot2火山图的绘制
R绘图|ggplot2散点图的绘制
R绘图|pheatmap热图绘制——基础篇
R绘图|pheatmap热图绘制——中阶篇
R绘图|pheatmap热图绘制——高阶篇