【问题标题】:Coloring by variable for phyloseq boxplotsphyloseq箱线图的变量着色
【发布时间】: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(),见 stackoverflow.com/a/52507872/680068
  • 我没有发布数据,因为数据集是基于 phyloseq 对象的。除非我使用不同的程序,否则我不可能在 phyloseq 之外获得 alpha 多样性值。
  • 如果您将“调色板”提供给plot_richness 的“颜色”参数会怎样? plot_richness(physeq_shime, x='System', measures='Shannon', color = palette)
  • 不起作用,因为它说“错误:没有要解析的表达式”。我试过在plot_richness 上使用color=,但还没有成功。

标签: r ggplot2 boxplot phyloseq


【解决方案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)

【讨论】:

    猜你喜欢
    • 2016-12-09
    • 2019-09-28
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多