美文网首页基因组数据绘图ggplot2绘图
R绘图—Ternary的绘制(三元图)

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

作者: Clariom | 来源:发表于2020-11-01 18:49 被阅读0次

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

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的绘制(三元图)

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

  • R语言可视化(三十三):三元图绘制

    33. 三元图绘制 清除当前环境中的变量 设置工作目录 使用Ternary包绘制三元图 使用vcd包绘制三元图 使...

  • R实战 | 森林图绘制

    R实战 | 森林图绘制 回答一下R绘图实战|GSEA富集分析图 - 知乎 (zhihu.com)[https://...

  • R语言初级教程(24): 基本绘图

    R擅长绘图,使用R可以绘制各种类型图。今天将以示例的形式来讲解如何绘制一些常见基本图,包括: 线形图 条形图 直方...

  • R语言初级教程(24): 基本绘图

    R擅长绘图,使用R可以绘制各种类型图。今天将以示例的形式来讲解如何绘制一些常见基本图,包括: 线形图 条形图 直方...

  • 瑞德学习R语言day03

    factor(变量) 因子类型的转化 R语言绘图 使用ggplot2绘图导入依赖 绘制柱状图 统计一组数中元素的情...

  • 【R画图学习12】三元图(Ternary Plot)

    三元图,其实我不常见,主要在微生物相关的paper中看过。 所以先看定义。三元图用一个等边三角形描述三个变量的不同...

  • R可视化之美之科研绘图-31.三元图 三元相图

    本内容为【科研私家菜】R可视化之美之科研绘图系列课程快来收藏关注【科研私家菜】 01 三元图 三元相图( tern...

  • R优雅的绘制三元相图

    本节来介绍如何通过Ternary绘制3元相图 加载R包 加载数据 数据清洗 数据清洗部分请参考tidyverse数...

  • ggpubr绘图(1)

    使用ggpubr绘制反映指标动态变化的箱图 参考资料:公众号:珠江肿瘤 R语言|ggpubr 包绘图系列(2)[h...

网友评论

    本文标题:R绘图—Ternary的绘制(三元图)

    本文链接:https://www.haomeiwen.com/subject/oiruvktx.html