You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除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,提问作者Павел Михаловский

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:54:25