Python 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

我得到消息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 * 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
,它终于起作用了;)