代码之家  ›  专栏  ›  技术社区  ›  frank

每列的饼图

  •  0
  • frank  · 技术社区  · 5 年前

    我有一个分类值的数据框架,我想把它制成表格,然后在每一列上做一个饼图。

    我可以将我的表格制成表格,并创建一个大型绘图,但我认为这不符合我的需要,我更喜欢为每一列绘制一个饼图:

    df = pd.DataFrame({'a': ['table', 'chair', 'chair', 'lamp', 'bed'],
                       'b': ['lamp', 'candle', 'chair', 'lamp', 'bed'],
                       'c': ['mirror', 'mirror', 'mirror', 'mirror', 'mirror']})
    df
    df2=df.apply(pd.value_counts).fillna(0)
    df2.plot.bar()
    display()
    

    enter image description here

    我试着为每个专栏画饼图,但在过去的几个小时里,我一直在努力:

    df2.plot(kind='pie',subplots=True,autopct='%1.1f%%', startangle=270, fontsize=17)
    display()
    

    enter image description here

    我想我已经很接近了,希望有人能帮我跨过最后的障碍。也就是说,根据每一列制作一个饼图,这样它才有意义和可解释性,而不是这种乱七八糟的东西(即,每个图上方的标题都指向该列,图例在适当的位置),甚至是要阅读的正确文档

    0 回复  |  直到 5 年前
        1
  •  2
  •   Quang Hoang    5 年前

    一件简单的事情是增加图形大小并指定布局:

    df2.plot(kind='pie', subplots=True,
             autopct='%1.1f%%', startangle=270, fontsize=17,
             layout=(2,2), figsize=(10,10))
    

    输出:

    enter image description here