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

Matplotlib绘制折线图添加数据标签报TypeError如何解决?

问题原因
  • plt.plot() 函数的返回值是包含Line2D对象的列表,不是数据点的索引值,你代码中遍历temp_labels拿到的是Line2D实例,无法作为列表temp的索引,所以触发TypeError。
  • 原代码中plt.annotate行存在语法错误,多写了一个右括号,会额外触发语法报错。
修正后的可运行代码
import matplotlib.pyplot as plt

dates = [10,11,12]
temp = [10,14,12]

# 绘制基础折线
plt.plot(dates, temp)

# 遍历每一组坐标添加数据标签
for x, y in zip(dates, temp):
    plt.annotate(str(y),
                 (x, y),
                 textcoords="offset points",
                 xytext=(0,10),
                 ha="center")

plt.show()
修改说明
  • 直接用zip()同时遍历x轴坐标列表dates和y轴数值列表temp,直接拿到每个数据点的横纵坐标,不需要通过Line2D对象二次获取数据
  • 修正了plt.annotate的括号语法错误
  • 对标注的数值做了字符串转换,保证标注内容格式正常

运行后即可在每个数据点正上方10个偏移点的位置居中显示对应的温度数值,符合预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:06:03