我在 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”的门,我希望它具有黑色。
你有一个解决方案来获得相同的调色板:
- 27 门的随机调色板
和
- 门“undetermined_Eukaryota”的固定颜色为黑色
非常非常感谢您的帮助!