我的饼图显示正常,各部分的大小正确,但标签未位于正确的位置。
# declaring exploding pie
explode = [0, 0.1, 0, 0, 0,0]
# define Seaborn color palette to use
palette_color = sns.color_palette('pastel')
# plotting data on chart
fig=plt.pie(combined_df.groupby(['Continent'])['total_consumption'].sum(), colors=palette_color,labels=combined_df['Continent'].unique(),
explode=explode, autopct='%.0f%%', labeldistance=0.9,)
plt.show
应绘制的值
Continent
Africa 227.0
Asia 128.7
Europe 431.9
North America 147.5
Oceania 42.5
South America 83.2
最佳答案
我怀疑是unique()
和value_counts()
返回结果的顺序不一致。
value_counts()
返回的是按计数排序,unique()
是按数组中的出现排序。
你可以试试这个:
value_cnts = combined_df['Continent'].value_counts()
fig = plt.pie(value_cnts, colors=palette_color, labels=value_cnts.index,
explode=explode, autopct='%.0f%%', labeldistance=0.9)
关于python - 如何使饼图标签与数据框中的正确值保持一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75054232/