Python 在matplotlib上打印numpy数组

Python 在matplotlib上打印numpy数组,python,numpy,matplotlib,Python,Numpy,Matplotlib,我有以下代码: import matplotlib.pyplot as plt import numpy as np a=np.array([[0],[1],[2]], np.int32) b=np.array([[3],[4],[5]], np.int32) plt.plot(a, color = 'red', label = 'Historical data') plt.plot(b, color = 'blue', label='Predicted data') plt.legend()

我有以下代码:

import matplotlib.pyplot as plt
import numpy as np
a=np.array([[0],[1],[2]], np.int32)
b=np.array([[3],[4],[5]], np.int32)

plt.plot(a, color = 'red', label = 'Historical data')
plt.plot(b, color = 'blue', label='Predicted data')
plt.legend()
plt.show()
这给了我一个由两条线组成的图表,每条线从
x轴=0开始

我如何连接
'a'
'b'
并绘制图形,使
'b'
x轴上继续
'a'
结束的位置


谢谢

您可以添加一个
x
数组,然后在下一个绘图中增加其值,以便将其附加到上一个绘图中

import matplotlib.pyplot as plt
import numpy as np
a=np.array([[0],[1],[2]], np.int32)
b=np.array([[3],[4],[5]], np.int32)
x = np.arange(a.shape[0])

plt.plot(x, a, color = 'red', label = 'Historical data')
plt.plot(x+a.shape[0], b, color = 'blue', label='Predicted data')
plt.legend()
plt.show()

后续问题:如果numpy数组是:a=np.array([[0],[1],[2]],np.int32)b=np.array([[2],[3],[4],[5]],np.int32),该怎么办?我得到了这个错误:ValueError:x和y必须有相同的第一维度,但是有形状(3,)和(4,1)我怎么才能避免这个问题呢?既然
a
b
的形状不同,你必须在这里创建两个不同的
x
变量
x1=np.arange(a.shape[0])
x2=np.arange(a.shape[0],a.shape[0]+b、 形状[0])
x1
可与a一起使用,
x2
可与
b一起使用