0

我在 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

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

你有一个解决方案来获得相同的调色板

  1. 27 门的随机调色板

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

非常非常感谢您的帮助!

4

0 回答 0