使用colorRampPalette后如何在phyloseq对象中为特定分类群分配一种特定颜色

问题描述

我在R上很难创建我想要的调色板... 我只想在条形图中绘制phyloseq对象(称为physeq)的不同门的分布。 为了给每个门分配一种颜色(所以在设置phyloseq对象后颜色不会改变),我使用了以下几行:

查看整个数据集中有多少门:

length(table(tax_table(physeq)[,"Phylum"])) #I have 28 different phyla

创建具有28种不同颜色的随机调色板:

color = Grdevices::colors()[grep('gr(a|e)y',Grdevices::colors(),invert = T)]

getPalette = colorRampPalette(sample(color,28,replace=F))

为一种门分配一种颜色:

PhylumList = unique(tax_table(physeq)[,"Phylum"])

PhylumPalette = getPalette(length(PhylumList))

names(PhylumPalette) = PhylumList

但是,我有一个名为“ unetermined_Eukaryota”的门,我希望它具有黑色。

您是否有解决方案可以在同一调色板中获得

  1. 27种门的随机调色板

  1. 固定为黑色的“ untetermined_Eukaryota”门的颜色

非常感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)