phyloseq 箱线图的变量着色

Coloring by variable for phyloseq boxplots

我有一个箱线图(见下文),我想根据指定的调色板按变量着色。我不确定如何为它们着色,因为代码是基于 Phyloseq 包的。我尝试在 plot_richness 中设置 aes(),但它似乎只适用于 geom_boxplot()

library(ggplot2)
library(phyloseq)

palette <- c("#B0F2E7", "#166AD0", "#F89EE9", "#DA0000", "#C6C3D3", "#23202C")

plot_richness(physeq_shime, x='System', measures='Shannon') + theme_bw() + 
  xlab('SHIME') + scale_y_continuous(limits=c(2.0,3.2)) + 
  geom_boxplot(aes(fill='System')) 

如何按照自定义调色板的顺序填充箱线图?

提前致谢。

这对我有用

library(ggplot2)
library(phyloseq)

palette <- c("#B0F2E7", "#166AD0", "#F89EE9", "#DA0000", "#C6C3D3", "#23202C")

plot_richness(physeq_shime, x='System', measures='Shannon') + theme_bw() + 
  xlab('SHIME') + scale_y_continuous(limits=c(2.0,3.2)) + 
  geom_boxplot(lwd=0.9, alpha=0.7, aes(fill=sample_data(physeq_shime)$System)) +
  scale_fill_manual(values=palette)