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

Python绘图中对X轴数值乘以系数2出现维度不匹配错误的解决方法

解决Matplotlib绘图时x和y维度不匹配的问题

嗨,这个问题我太熟悉啦!咱们先拆解下错误的根源:

当你写x = 2 * x_1时,x_1是Python普通列表,这种乘法操作会把整个列表重复两次,而不是给每个元素单独乘2。比如[0,1,2] * 2会得到[0,1,2,0,1,2],所以你的x变成了300个元素,而y还是150个,自然就出现了维度不匹配的报错。

有两种简单的方法可以解决这个问题:

方法1:用列表推导式逐个元素乘2

直接遍历x_1里的每个元素,给每个元素单独乘2,这样得到的x还是150个元素,和y的维度完全匹配:

x_1 = [*range(0, im1.shape[0], 1)]
x = [num * 2 for num in x_1]  # 逐个元素乘以系数2
plt.plot(x, y)
plt.show()

方法2:转换成numpy数组进行元素级乘法

如果你的im1本身就是numpy矩阵,直接用numpy生成x序列更方便,numpy的乘法默认是元素级运算,不会出现列表重复的问题:

import numpy as np

x_1 = np.arange(0, im1.shape[0], 1)  # 直接生成numpy数组
x = 2 * x_1  # 这里自动对每个元素乘2
plt.plot(x, y)
plt.show()

两种方法都能完美解决你的问题,选哪种看你平时的代码习惯就好~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 13:19:05