title: How to make a scatter plot for clustering in Python
body: <p>I am carrying out clustering and try to plot the result. A dummy data set is :</p>
  
  <p><em>data</em></p>
  
  <pre><code>import numpy as np
  
  X = np.random.randn(10)
  Y = np.random.randn(10)
  Cluster = np.array([0, 1, 1, 1, 3, 2, 2, 3, 0, 2])    # Labels of cluster 0 to 3
  </code></pre>
  
  <p><em>cluster center</em></p>
  
  <pre><code> centers = np.random.randn(4, 2)    # 4 centers, each center is a 2D point
  </code></pre>
  
  <hr>
  
  <h2>Question</h2>
  
  <p>I want to make a scatter plot to show the points in <code>data</code> and color the points based on the cluster labels.</p>
  
  <p>Then I want to superimpose the <code>center</code> points on the same scatter plot, in another shape (e.g. 'X') and a fifth color (as there are 4 clusters).</p>
  
  <hr>
  
  <h2>Comment</h2>
  
  <ul>
  <li>I turned to <strong>seaborn</strong> 0.6.0 but found no API to accomplish the task.</li>
  <li><strong>ggplot</strong> by yhat could made the scatter plot nice but the second plot would replace the first one.</li>
  <li>I got confused by the <code>color</code> and <code>cmap</code> in <strong>matplotlib</strong> so I wonder if I could use seaborn or ggplot to do it.</li>
  </ul>