Python ValueError:x和y必须具有相同的第一维度
我得到消息ValueError:x和y必须具有相同的第一维度。这是代码。错在哪里Python ValueError:x和y必须具有相同的第一维度,python,numpy,matplotlib,Python,Numpy,Matplotlib,我得到消息ValueError:x和y必须具有相同的第一维度。这是代码。错在哪里 import matplotlib.pyplot as plt import matplotlib as mpl from scipy import signal import numpy as np x = np.linspace(0, 0.5, 200); y = 4* signal.sawtooth(2 * np.pi * 4 * k, 0.5)* signal.sawtooth(2 * np.pi * 4
import matplotlib.pyplot as plt
import matplotlib as mpl
from scipy import signal
import numpy as np
x = np.linspace(0, 0.5, 200);
y = 4* signal.sawtooth(2 * np.pi * 4 * k, 0.5)* signal.sawtooth(2 * np.pi * 4 * k, 0.5);
plt.stem(x, y, use_line_collection=True);
plt.show();
该错误意味着
x
和y
数组的长度对于stem()
必须相同,我怀疑您是否有k
(代码段中未显示)导致y
的维度不同
您可以检查您的len(y)
是否等于200,当它等于200时,它应该工作(与x
相同)。作为一个例子,下面的方法是可行的
x = np.linspace(0, 0.5, 200) # length = 200
k = np.arange(0, 200) # length = 200
y = 4* signal.sawtooth(2 * np.pi * 4 * k, 0.5)* signal.sawtooth(2 * np.pi * 4 * k, 0.5)
plt.stem(x, y, use_line_collection=True)
您的
k
未定义。我试图使用k=1
,但后来出现了另一种错误。我猜您使用了错误的k
值。我试着用x
替换k
,它终于起作用了;)