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

Matplotlib中为每条折线添加图例:label参数失效问题求助

解决折线图Label不生效、图例不显示的问题

嘿,我猜你大概率是用Matplotlib绘图吧?这种情况我碰到好多次了——光给折线设置label='...'参数确实不够,关键是最后得手动触发图例的显示!

最常见的解决方案:调用legend()函数

举个简单的例子,假设你原本的代码是这样的:

import matplotlib.pyplot as plt

x = [1,2,3,4]
y1 = [1,4,9,16]
y2 = [2,4,6,8]

plt.plot(x, y1, label='平方曲线')
plt.plot(x, y2, label='线性曲线')
# 这里少了关键的一行!
plt.show()

上面的代码里,虽然给每条折线加了label,但因为没调用plt.legend(),图例根本不会显示。只需要在plt.show()之前加上这行就行:

plt.legend()

其他可能导致Label失效的情况

  • Label参数被覆盖或者没传对:检查一下是不是在绘图函数里把label拼错了(比如写成lable),或者后续的代码不小心重置了这个参数。
  • 使用了面向对象的绘图方式:如果是用ax.plot()这种面向对象的写法,那要调用ax.legend()而不是全局的plt.legend(),比如:
fig, ax = plt.subplots()
ax.plot(x, y1, label='平方曲线')
ax.plot(x, y2, label='线性曲线')
ax.legend()  # 这里要调用ax的legend方法
plt.show()
  • 图例被隐藏或者位置设置问题:有时候图例其实已经生成了,但被放在了画布外面,你可以试试指定图例的位置,比如plt.legend(loc='upper right'),或者用loc='best'让Matplotlib自动选最合适的位置。

如果这些方法都没用,可以把你的完整代码贴出来,我再帮你排查细节~

内容的提问来源于stack exchange,提问作者Eric Kim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:42:24