Matplotlib Pie Plot标签不显示:如何为饼图添加标签?
解决Matplotlib饼图不显示标签的问题
可能的原因及修复步骤
1. 补充必要的库导入语句
你的代码使用了pandas和matplotlib.pyplot但未显式导入,这是最常见的遗漏问题。必须在代码开头添加:
import pandas as pd import matplotlib.pyplot as plt
2. 强制轴比例为正圆
默认轴比例可能导致饼图变形,进而影响标签显示。添加plt.axis('equal')可确保饼图为正圆形,同时修复标签显示异常:
count=[6943,933,417,337] xlab=['Everyone', 'Teen', 'Adult', 'Old'] dic={"count":count, "label":xlab} df=pd.DataFrame(dic) plt.pie(df["count"], labels=df["label"]) plt.axis('equal') # 新增该行 plt.show()
3. 排查字体渲染问题(可选)
若仍无标签,可能是环境字体渲染异常,可指定字体尝试:
plt.pie(df["count"], labels=df["label"], fontproperties='Arial') # 英文环境用Arial,中文环境可换SimHei plt.axis('equal') plt.show()
4. 验证数据与标签的长度匹配
确认df["count"]和df["label"]长度一致,你的代码中两者均为4个元素,这部分无问题,但长度不匹配也会导致标签不显示。
完整可运行代码
import pandas as pd import matplotlib.pyplot as plt count=[6943,933,417,337] xlab=['Everyone', 'Teen', 'Adult', 'Old'] dic={"count":count, "label":xlab} df=pd.DataFrame(dic) plt.pie(df["count"], labels=df["label"]) plt.axis('equal') plt.show()
内容的提问来源于stack exchange,提问作者Srushti Talekar
相关产品推荐
相关产品推荐

