kmeans scatter plot: traza diferentes colores por grupo

Estoy tratando de hacer un diagrama de dispersión de una salida de kmeans que agrupe oraciones del mismo tema juntas. El problema que estoy enfrentando es trazar puntos que pertenecen a cada grupo de un color determinado.

sentence_list=["Hi how are you", "Good morning" ...] #i have 10 setences
km = KMeans(n_clusters=5, init='k-means++',n_init=10, verbose=1) 
#with 5 cluster, i want 5 different colors
km.fit(vectorized)
km.labels_ # [0,1,2,3,3,4,4,5,2,5]

pipeline = Pipeline([('tfidf', TfidfVectorizer())])
X = pipeline.fit_transform(sentence_list).todense()
pca = PCA(n_components=2).fit(X)
data2D = pca.transform(X)
plt.scatter(data2D[:,0], data2D[:,1])

km.fit(X)
centers2D = pca.transform(km.cluster_centers_)
plt.hold(True)
labels=np.array([km.labels_])
print labels

Mi problema está en el código inferior paraplt.scatter (); ¿Qué debo usar para el parámetro?c?

cuando usoc=labels en el código, me sale este error:

number in rbg sequence outside 0-1 range

2.Cuando configuroc= km.labels_ en cambio, me sale el error:

ValueError: Color array must be two-dimensional

plt.scatter(centers2D[:,0], centers2D[:,1], 
            marker='x', s=200, linewidths=3, c=labels)
plt.show()

Respuestas a la pregunta(3)

Su respuesta a la pregunta