【问题标题】:How to plot a pie chart in matplotlib with 3 columns?如何在 matplotlib 中绘制具有 3 列的饼图?
【发布时间】:2019-07-09 10:28:32
【问题描述】:

我需要使用 matplotlib 绘制饼图,但我的 DataFrame 有 3 列,即 gendersegmenttotal_amount。 我曾尝试使用 plt.pie() 参数,但它只需要 x 和标签作为数据。我尝试将gender 设置为图例,但它看起来不正确。

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({'gender': {0: 'Female',
  1: 'Female',
  2: 'Female',
  3: 'Male',
  4: 'Male',
  5: 'Male'},
 'Segment': {0: 'Gold',
  1: 'Platinum',
  2: 'Silver',
  3: 'Gold',
  4: 'Platinum',
  5: 'Silver'},
 'total_amount': {0: 2110045.0,
  1: 2369722.0,
  2: 1897545.0,
  3: 2655970.0,
  4: 2096445.0,
  5: 2347134.0}})

plt.pie(data = df,x="claim_amount",labels="Segment")
plt.legend(d3.gender)
plt.show()

我想要的结果是total_amount 的饼图,其标签为gendersegment。如果我能得到百分比,那将是一个奖金。

【问题讨论】:

    标签: python matplotlib plot data-visualization pie-chart


    【解决方案1】:

    我建议如下:

    # Data to plot
    # Take the information from the segment and label columns and join them into one string
    labels = df["Segment"]+ " " + df["gender"].map(str)
    # Extract the sizes of the segments
    sizes = df["total_amount"]
    # Plot with labels and percentage
    plt.pie(sizes, labels=labels,autopct='%1.1f%%')
    plt.show()
    

    你应该得到这个:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多