title: Multi color scatter plot using matplotlib.pyplot based on input field from CSV
body: <p>I want a scatter plot, where each point is colored based on the tags:
  Same tags should be plotted with the same colored points.</p>
  
  <pre><code>eg: tag: 'One', color : red
      tag: 'Two', color : green
  </code></pre>
  
  <p>Intput CSV file: (first column is the tag)</p>
  
  <pre><code>One;0;0.2345;0.43543;
  Two;0.2345;0;0.34563;
  One;0.43543;0.34563;0;
  </code></pre>
  
  <p>Plotting code:</p>
  
  <pre><code>import csv
  import numpy as np
  import matplotlib.pyplot as plt
  from sklearn import manifold
  reader = csv.reader(open("data.csv", "r"), delimiter=';')
  data = list(reader)
  
  dists = []
  tags = []
  for d in data:
      tags.append(d[0])
      dists.append(map(float , d[1:-1]))
  
  adist = np.array(dists)
  amax = np.amax(adist)
  adist /= amax
  
  mds = manifold.MDS(n_components=2, dissimilarity="precomputed", random_state=10)
  results = mds.fit(adist)
  
  coords = results.embedding_
  
  plt.subplots_adjust(bottom = 0.1)
  plt.scatter(coords[:, 0], coords[:, 1], marker = 'o')
  for label, x, y in zip(tags, coords[:, 0], coords[:, 1]):
      plt.annotate(
          label,
          xy = (x, y), xytext = (-8, 8),
          textcoords = 'offset points', ha = 'right', va = 'bottom',
          bbox = dict(boxstyle = 'round,pad=0.2', fc = 'blue', alpha = 0.1),
          arrowprops = dict(arrowstyle = '-&gt;', connectionstyle = 'arc3,rad=0'))
  
  plt.show()
  </code></pre>
  
  <p>Right now all the points displayed are of the same color. 
  I want each point to be of a different color, based on the string value of tags. 
  The color can be picked from a map in python</p>
  
  <pre><code>{one:red, two:green, three:yellow}
  </code></pre>