我有2个像这样的数组
x_test = [[ 14. 1.] [ 14. 2.] [ 14. 3.] [ 14. 4.] [ 14. 5.] [ 14. 6.] [ 14. 7.] [ 14. 8.] [ 14. 9.] [ 14. 10.] [ 14. 11.] [ 14. 12.]]
y_test = [ 254.7 255.4 476.5 19.5 85.6 352. 238.7 144.8 83.5 278.8 449.6 312.7]
我希望这些数组使用matplotlib显示散点图。
这是我的代码
plt.scatter(x_test, y_test, color='black')
plt.plot(x_test, y_predict, color='blue', linewidth=3)
plt.xticks(())
plt.yticks(())
plt.show()
它给了我这个错误
Traceback (most recent call last):
File "C:\wamp\www\python\test1.py", line 84, in <module>
plt.scatter(x_test, y_test, color='black')
File "C:\Python34\lib\site-packages\matplotlib\pyplot.py", line 3251, in scatter
edgecolors=edgecolors, data=data, **kwargs)
File "C:\Python34\lib\site-packages\matplotlib\__init__.py", line 1812, in inner
return func(ax, *args, **kwargs)
File "C:\Python34\lib\site-packages\matplotlib\axes\_axes.py", line 3840, in scatter
raise ValueError("x and y must be the same size")
ValueError: x and y must be the same size
两个数组长度相同,我不明白这里有什么问题。请帮助我谢谢
这是我的y_predict数组
y_predict = [ 91.76428571 103.1 86.85714286 401.44642857 339.69642857
196.83571429 126.38928571 31.41071429 211.67857143 167.35357143
288.53214286 107.36785714]
答案 0 :(得分:1)
x_test
,就像你提供的那样,对散点图没有意义。并且数组的大小实际上不一样:
print(x_test.shape)
print(y_test.shape)
(12,2)
(12)
您可能希望拥有的内容是这样的(仅使用x_test
的第二列):
plt.scatter(x_test[:,1], y_test, color='black')
plt.plot(x_test[:,1], y_predict, color='blue', linewidth=3)