alpha多样性图可视化

最近遇到alpha多样性指数遇见多个不同需求的可视化,先记录一个,后续有再补充

一、alpha多样性组间箱型图绘制

组间箱型图带有差异检验的实现代码:

library(ggplot2)
library(reshape2)
library(ggpubr)  ##用于添加误差线的包

diversity <- read.table("alpha_diversity.xls", header = T, row.names = 1) ##行为样本,列为不同alpha多样性指数
metadata <- read.table("metadata.txt", header = F, row.names = 1)
names(metadata) <- c("group") ##行为样本,列为分组,总共两列

df <- merge(diversity, metadata, by = "row.names", all.x = TRUE)
df$group <- gsub("-", "_", df$group)
# 设置每个组的颜色
group_colors <- c("Control" = "#ECA558", "D" = "#C094D9", "C" = "#5B9ED7")
# 首先设置比较的列表
compare_list <- list(
  c("D", "Control"),
  c("C", "Control"),
  c("C", "D"))

# 使用ggplot2创建箱线图
p <- ggplot(df, aes(x = group, y = goods_coverage, fill = group, colour = group)) +
  stat_boxplot(linewidth=1,width=0.1,geom = "errorbar",
               alpha=1, aes(color=group) )+ ##由于自带的箱形图没有胡须末端没有短横线,使用误差条的方式补上
  geom_boxplot(width = 0.15, alpha = 0.6, lwd = 1.15, outlier.shape = NA
               ) +  # 调整箱的大小
  geom_jitter(width = 0.3, size = 3, alpha = 0.75) +  # 添加散点
  labs(y = "Goods Coverage Diversity") +
  scale_fill_manual(values = group_colors) +  # 设置颜色
  scale_color_manual(values = group_colors) +
  theme_minimal() +
  labs(x = NULL) +
  theme(panel.border = element_blank(),
        panel.grid = element_blank(),
        axis.line = element_line(colour = "black", linewidth = 1),
        axis.ticks = element_line(color = "black", linewidth = 1),
        axis.text.x = element_text(face = "bold", size=12),
        axis.text.y = element_text(face = "bold", size=12),
        axis.title.y = element_text(face = "bold", size=14)) +
  stat_compare_means(
    comparisons = compare_list,
    method = "t.test",
    label = "p.signif",
    hide.ns = F)# 添加检验结果

ggsave(p, file="goods_coverage_index.png", width = 8, height = 7)
ggsave(p, file="goods_coverage_index.pdf", width = 8, height = 7)

##用于添加误差线条的两种方式

stat_boxplot(linewidth=1,width=0.1,geom = "errorbar",alpha=1, aes(color=group) )

geom_errorbar(data=df, aes(ymin=ymin, ymax=ymax), width=.2, size=0.5) + # 添加误差条

##ymin为其中一列,是添加误差线的最小列
#ymax为其中一列,是添加误差线的最大列

 ##用于组间比较

stat_compare_means(
    comparisons = compare_list,
    method = "t.test",
    label = "p.signif",
    hide.ns = F)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值