phyloseq箱线图的变量着色
Posted
技术标签:
【中文标题】phyloseq箱线图的变量着色【英文标题】:Coloring by variable for phyloseq boxplots 【发布时间】:2021-12-19 02:09:53 【问题描述】:我有一个箱线图(见下文),我想根据指定的调色板为变量着色。我不确定如何为它们着色,因为代码基于 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'))
如何按照自定义调色板的顺序填充箱线图?
提前致谢。
【问题讨论】:
数据长什么样,举个例子?也许在没有 phyloseq 的情况下使用ggplot(...) + geom_boxplot()
,见 ***.com/a/52507872/680068
我没有发布数据,因为数据集是基于 phyloseq 对象的。除非我使用不同的程序,否则我不可能在 phyloseq 之外获得 alpha 多样性值。
如果您将“调色板”提供给plot_richness
的“颜色”参数会怎样? plot_richness(physeq_shime, x='System', measures='Shannon', color = palette)
不起作用,因为它说“错误:没有要解析的表达式”。我试过在plot_richness
上使用color=
,但还没有成功。
【参考方案1】:
这对我有用
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)
【讨论】:
以上是关于phyloseq箱线图的变量着色的主要内容,如果未能解决你的问题,请参考以下文章