取得したいカラー パレットを作成するのに 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))
1 つの門に 1 つの色を割り当てます。
PhylumList = unique(tax_table(physeq)[,"Phylum"])
PhylumPalette = getPalette(length(PhylumList))
names(PhylumPalette) = PhylumList
ただし、「undetermined_Eukaryota」という門があり、色を黒くしたいと考えています。
同じパレットに入る解決策はありますか:
- 27 門のランダムなカラー パレット
と
- 門「undetermined_Eukaryota」の黒に固定された色
大変お世話になりました!