2016-06-13 60 views
0

我有2門陣列這樣matplotlib散射陣列長度不相同

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] 

回答

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) 
+0

感謝兄弟,它工作正常。 –