如何在 matplotlib 中绘制 3 列饼图?
How to plot a pie chart in matplotlib with 3 columns?
我需要使用 matplotlib 绘制饼图,但我的 DataFrame
有 3 列,即 gender
、segment
和 total_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
的饼图及其标签 gender
和 segment
。如果我能拿到百分比,那就加分了。
我建议如下:
# 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()
你应该得到这个:
我需要使用 matplotlib 绘制饼图,但我的 DataFrame
有 3 列,即 gender
、segment
和 total_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
的饼图及其标签 gender
和 segment
。如果我能拿到百分比,那就加分了。
我建议如下:
# 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()
你应该得到这个: