我想使用matplotlib和plot 2数组的plot方法。要沿x轴绘制的数组有1行128列[1,128]。要沿y轴绘制的阵列有14行128列[14,128]。当我尝试用图解法,它返回此消息:在Python中绘图时的ValueError
ValueError: x and y must have same first dimension
这是我用来绘制它的代码。 a和b是2个数组。
line, = plt.plot(b, a, 'bs', markersize=4)
我想使用matplotlib和plot 2数组的plot方法。要沿x轴绘制的数组有1行128列[1,128]。要沿y轴绘制的阵列有14行128列[14,128]。当我尝试用图解法,它返回此消息:在Python中绘图时的ValueError
ValueError: x and y must have same first dimension
这是我用来绘制它的代码。 a和b是2个数组。
line, = plt.plot(b, a, 'bs', markersize=4)
你刚刚得到了你的阵列错误的方式。转置他们,一切都应该工作。
>>> from matplotlib import pyplot as plt
>>> import numpy as np
>>> x = np.array(range(1,129))
>>> y = np.random.rand(14,128)
>>> plt.plot(x, y)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 2286, in plot
ret = ax.plot(*args, **kwargs)
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 3783, in plot
for line in self._get_lines(*args, **kwargs):
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 317, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 294, in _plot_args
x, y = self._xy_from_xy(x, y)
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 234, in _xy_from_xy
raise ValueError("x and y must have same first dimension")
ValueError: x and y must have same first dimension
>>> plt.plot(x.T, y.T)
# works
此错误时显示的a和b(来自实施例以上服用)的大小是不一样的 - 因此,这里128 x值应针对 y值被绘制。
感谢您的帮助! – dawnoflife