2017-08-02 9 views
0

コンタープロットでは苦労します。私のプロットでは輪郭線が狂っていて、なぜそれがわからないのですか?バックグラウンドでいくつかのデータポイントを見ることができます。コンターラインプロットが悪い

print positive_train_data.shape 
#returns (1131,2) 

def GaMM(): 
    GaussMM = GMM(n_components=3) 
    GaussMM.fit(positive_train_data) 
    X, Y = np.meshgrid(positive_train_data[:, 0], positive_train_data[:, 1]) 
    XX = np.array([X.ravel(), Y.ravel()]).T 
    Z = -GaussMM.score(XX) 
    Z = Z.reshape(X.shape) 
    CS = plt.contour(X, Y, Z) 
    CB = plt.colorbar(CS, shrink=0.8, extend='both') 
    plt.scatter(positive_train_data[:, 0], positive_train_data[:, 1]) 

GaMM() 

enter image description here

答えて

1

データは完全に順不同であるように思われます。これは、下の左の図の場合と同様です。

enter image description here

これは、この質問への答えは一つから取られる: Why does pyplot.contour() require Z to be a 2D array? 、溶液を右の写真のようにtricontourの代わりcontourを使用することです。

もう1つの選択肢は、2Dグリッド上のデータを補間することです。 matplotlib.mlab.griddata

また提案読み取りを使用することである:X、Y、Zデータセットからデータをプロットする方法のオプションの

関連する問題