如何移除Matplotlib饼图中的None标签?
解决Pandas饼图出现None标签的问题
你遇到的这个None标签问题,根源在于你同时设置了labels=None和legend=True——当你把饼图的标签设为None时,Pandas没办法自动生成图例的标签,就只能显示None了。根据你的需求,有两种解决方案:
方案1:不需要图例?直接关闭它
如果你的饼图不需要图例,只需要把legend=True改成legend=False就行,这样就不会显示那个烦人的None标签了:
meets = results.groupby(['Meet']).size() meets.dropna() plt.figure(figsize=(14,14)) meets.plot(kind='pie', autopct='%.2f', fontsize=20, title='Причина знакомства с Доктором', legend=False, labels=None) plt.show()
方案2:需要保留图例?让它显示正确的标签
如果你想保留图例,并且让图例显示Meet列的各个类别,有两种小技巧:
方法A:隐藏饼图标签,保留默认图例
不用设置labels=None,而是用labeldistance=None来隐藏饼图上的标签(这样饼图上不会有标签,但图例能正常显示你的类别):
meets = results.groupby(['Meet']).size() meets.dropna() plt.figure(figsize=(14,14)) meets.plot(kind='pie', autopct='%.2f', fontsize=20, title='Причина знакомства с Доктором', legend=True, labeldistance=None) plt.show()
方法B:手动指定图例标签
如果你还是想保留labels=None的设置,那可以在画完图后手动给图例指定标签,用meets的索引(也就是你的Meet类别):
meets = results.groupby(['Meet']).size() meets.dropna() plt.figure(figsize=(14,14)) meets.plot(kind='pie', autopct='%.2f', fontsize=20, title='Причина знакомства с Доктором', legend=True, labels=None) # 手动把图例标签设为Meet的各个类别 plt.legend(meets.index) plt.show()
选其中一种符合你需求的方法,就能去掉那个None标签啦!
内容的提问来源于stack exchange,提问作者Павел Михаловский
相关产品推荐
相关产品推荐

