R可视化——三元相图的绘制
2022-08-24 本文已影响0人
科研那点事儿
工作目录设置、加载R包
rm(list = ls())
setwd("D:\\三元相图")
#安装R包
# install.packages("ggtern")
#加载R包
library(ggtern)
加载并处理数据
# 加载数据
df <- read.table(file="data.txt",sep="\t",header=T,check.names=FALSE)
# 创建分组信息数据集
df$group <- rep(c("T", "D", "L", "K"),each = 20)
#计算3个样本的平均值定义点的大小
df$size <- (apply(df[2:4], 1, mean))
image.png
绘图
ggtern(data=df,aes(x=A,y=B,z=C))+ #X,Y,Z轴分别代表的变量
geom_mask()+# 显示超出边界的点
geom_point(aes(size=size,#以散点图形式呈现,大小是size
color=group),#颜色映射的为group变量
alpha=0.8)+#透明度
scale_colour_manual(values = c("#00aeef","#ed008c","#fff000","#000000"))+#自定义颜色
guides(color = guide_legend(override.aes = list(size = 4)))+#改变颜色映射图例符号大小
theme_classic()+#主题
labs(title = "Ternary plot")+#标题
theme(axis.line=element_line(linetype=1,color="grey",size=1.5),#坐标轴粗细、类型及颜色设置
plot.title = element_text(size=15,hjust = 0.5)) #标题大小和位置
image.png