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

Matplotlib绘制二次函数报错:ValueError维度不匹配问题求助

解决Matplotlib的ValueError:x和y维度不匹配问题

错误原因

你的代码里y一开始是空列表,然后写了for i in y:循环——空列表的循环根本不会执行,所以y始终是空的。但你传给plt.plot的x参数有11个元素(从-5到5),空列表和11个元素的列表维度不匹配,自然抛出ValueError。

修正后的代码(修复原逻辑)

import matplotlib.pyplot as plt
y = []
x = -5
# 直接循环计算每个x对应的y值,添加到y列表
while x >= -5 and x <= 5:
    y_val = 2 * x**2 + 3 * x + 5
    y.append(y_val)
    x += 1
# 用range生成x列表,替代手动输入
x_values = list(range(-5, 6))
plt.plot(x_values, y)
plt.show()

更简洁的写法(列表推导式)

Python里可以用列表推导式直接生成y值列表,代码更简洁易读:

import matplotlib.pyplot as plt
x_values = list(range(-5, 6))
# 一行生成所有y值
y_values = [2 * x**2 + 3 * x + 5 for x in x_values]
plt.plot(x_values, y_values)
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:12:08