Tôi có gấu trúc DataFrame sau ("A" là tiêu đề cột cuối cùng của; phần còn lại của cột là một chỉ số thứ bậc kết hợp):thứ bậc Biểu đồ hình tròn/donut từ Pandas DataFrame sử dụng bokeh hay Matplotlib
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 có dữ liệu có sẵn here)
Tôi muốn vẽ biểu đồ tròn/bánh rán, trong đó mỗi vòng tròn đồng tâm là một cấp (vương quốc, phylum, v.v ...) và được chia theo tổng của cột A cho cấp đó, vì vậy tôi kết thúc với một cái gì đó tương tự như vậy, nhưng với dữ liệu của tôi:
Tôi đã xem xét matplotlib và bokeh, nhưng điều tương tự nhất mà tôi đã tìm thấy cho đến nay là biểu đồ Bo mạch chủ Donut, sử dụng biểu đồ không được chấp nhận, mà tôi không biết cách ngoại suy hơn 2 cấp độ.
Hi, không phải là một câu trả lời pythonic, nhưng bạn có thể quan tâm đến một chương trình perl rất tốt để làm điều đó, nơi piechart là tương tác (bạn có thể phóng to trong tiểu thể loại), nó được gọi là _Krona Tools_: [https://github.com/marbl/Krona /wiki](https://github.com/marbl/Krona/wiki). Ngoài ra, như tôi thấy bạn là MetaPhlAn và làm việc trên sự phong phú của taxon, bạn có thể thích đường dẫn _metaBIT_ của tôi tự động hóa việc thực hiện MetaPhlAn và phân tích luồng xuống (bao gồm tạo biểu đồ Krona): [https://bitbucket.org/Glouvel/metabit] (https://bitbucket.org/Glouvel/metabit) – PlasmaBinturong