I have the following dictionary and am trying to make a pie chart from them but I want to only include the top 5 (they are already sorted by value here) and then sum the others together in an Other
category i.e. replace Publishing
, Fashion
, Food
etc. with just one Other
which sum them all together. Stuck with how to do this so would appreciate any help!
{'Games': 715067930.8599964,
'Design': 705237125.089998,
'Technology': 648570433.7599969,
'Film & Video': 379559714.56000066,
'Music': 191227757.8699999,
'Publishing': 130763828.65999977,
'Fashion': 125678824.47999984,
'Food': 122781563.58000016,
'Art': 89078801.8599998,
'Comics': 70600202.99999984,
'Theater': 42662109.69999992,
'Photography': 37709926.38000007,
'Crafts': 13953818.35000002,
'Dance': 12908120.519999994,
'Journalism': 12197353.370000007}
At the moment my pie chart is really overcrowded using this code
groupbycategorypledge = df.groupby('main_category')['usd_pledged_real'].sum().sort_values(ascending=False)
plt.figure(figsize=(20, 10))
pie = groupbycategorypledge.plot(kind='pie', startangle=90, radius=0.7, title='Amount Pledged by Main category',autopct='%1.1f%%',labeldistance=1.2)
plt.legend(loc=(1.05,0.75))
plt.ylabel('')
so I have
dict = groupbycategorypledge.sort_values(ascending=False).to_dict()