我正在尝试使用下面的 .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 抛出了一个值错误,如下所示:错误图像
把东西放在括号里:
plt.scatter([X[:,0]],[X[:,1]])
我的经验是因为你的X
是一个麻木matrix
。
本质上,每当您尝试将一行与矩阵隔离时,它都会返回另一个矩阵。Numpy 似乎有一个约束,即矩阵必须是二维的,所以它无法分辨它是一个 1-D 数组,也无法屏蔽它(因此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')