R绘图—Ternary的绘制(三元图)

三元图的应用场景:三分组以上, 直观展示某个因素(可数值量化的)在三个条件下的倾向性!

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)
image.png

添加基因信息

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)
image

输出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)
image

输出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热图绘制——高阶篇

你可能感兴趣的:(R绘图—Ternary的绘制(三元图))