【发布时间】:2016-01-06 07:36:31
【问题描述】:
我有以下 pandas DataFrame(“A”是最后一列的标题;其余列是组合的层次索引):
A
kingdom phylum class order family genus species
No blast hit 2496
k__Archaea p__Euryarchaeota c__Thermoplasmata o__E2 f__[Methanomassiliicoccaceae] g__vadinCA11 s__ 6
k__Bacteria p__ c__ o__ f__ g__ s__ 5
p__Actinobacteria c__Acidimicrobiia o__Acidimicrobiales f__ g__ s__ 0
c__Actinobacteria o__Actinomycetales f__Corynebacteriaceae g__Corynebacterium s__stationis 2
f__Micrococcaceae g__Arthrobacter s__ 8
o__Bifidobacteriales f__Bifidobacteriaceae g__Bifidobacterium s__ 506
s__animalis 48
c__Coriobacteriia o__Coriobacteriales f__Coriobacteriaceae g__ s__ 734
g__Collinsella s__aerofaciens 3
(包含数据的 CSV 可用here)
我想绘制一个饼图/甜甜圈图,其中每个同心圆都是一个级别(王国、门等),并根据该级别 A 列的总和进行划分,所以我以类似的结尾对此,但使用我的数据:
我研究了 matplotlib 和散景,但到目前为止我发现的最相似的是散景甜甜圈图示例,它使用了一个已弃用的图表,我不知道如何推断超过 2 个级别。
【问题讨论】:
-
嗨,这不是pythonic的答案,但你可能对一个非常好的perl程序感兴趣,它的饼图是交互式的(你可以放大子类别),它被称为Krona工具:https://github.com/marbl/Krona/wiki。此外,正如我所见,您是 MetaPhlAn 并致力于丰富的分类单元,您可能会喜欢我的管道 metaBIT,它可以自动化 MetaPhlAn 执行和下游分析(包括制作克朗图表):https://bitbucket.org/Glouvel/metabit
标签: python pandas matplotlib bokeh