为什么这个散点图只绘制一个点?

时间:2015-11-25 05:56:17

标签: python matplotlib

我正在按照教程here对文档进行分类。我遇到了这段代码的问题:

from itertools import cycle

colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k']
for i, c in zip(np.unique(y_train), cycle(colors)):
    plt.scatter(X_train_small_pca[y_train == i, 0],
               X_train_small_pca[y_train == i, 1],
               c=c, label=twenty_train_small.target_names[i], alpha=0.5)

_ = plt.legend(loc='best')

我期待一个类似于教程中的示例的散点图,其中包含很多日期点。相反,我收到一个数据点。

我的X_train_small_pca看起来像这样:

array([[ 0.3310974 , -0.07091423],
       [ 0.39871607, -0.26434965],
       [ 0.47174667, -0.22348895],
       ..., 
       [ 0.49631973,  0.12411882],
       [ 0.36678049,  0.24062078],
       [ 0.22540712, -0.1105503 ]])

zip行产生这个,迭代通过:

[(u'alt.atheism', 'b'),
 (u'talk.religion.misc', 'g'),
 (u'comp.graphics', 'r'),
 (u'sci.space', 'c')]

最后,我在print循环开始后立即放置for行,我得到了这个输出:

(u'alt.atheism', 0.33109737451727428, -0.070908715239074438)
(u'talk.religion.misc', 0.33109737451727428, -0.070908715239074438)
(u'comp.graphics', 0.33109737451727428, -0.070908715239074438)
(u'sci.space', 0.33109737451727428, -0.070908715239074438)

为什么我的散点图只能看到所有类别的单点,为什么它只看到总共4行,而不是我X_train_small_pca的全部,这是预期的大小?

0 个答案:

没有答案