以下の.scatterメソッドを使用して散布図をプロットしようとしています。ここに
ax.scatter(X[:,0], X[:,1], c = colors, marker = 'o', s=80, edgecolors = 'none')
以下の入力/引数クラスで:
X[:,0]] type: <class 'numpy.matrixlib.defmatrix.matrix'> X[:,1]] type: <class 'numpy.matrixlib.defmatrix.matrix'> colors type: <class 'list'>
ただし、pythonは次のように値エラーをスローしています: error image
かっこで囲みます:
plt.scatter([X[:,0]],[X[:,1]])
これに関する私の経験は、あなたのX
が派手なmatrix
だからです。
基本的に、行を行列から分離しようとすると、別の行列が返されます。 Numpyには、行列mustが2次元であるという制約があるようです。そのため、それが1次元配列であることを認識できず、マスクすることもできません(そのため、Masked arrays must be 1-D
エラー)
私にとっての解決策は、次のようにして単にX
をnumpy.array
に「キャスト」することでした。
X = np.array(X)
ax.scatter(X[:,0], X[:,1], c = colors, marker = 'o', s=80, edgecolors = 'none')