title: Labeling matplotlib.pyplot.scatter with pandas dataframe
body: <p>I have a pandas dataframe which I want to apply as labels to each point on a scatter plot. With respect to data, it is clustering data and the dataframe contains labels to each point and in which cluster it belongs. Would be helpful to project that on scatter plot above. I tried using annotate and came up with error.
  Below is my code for scatter plot:</p>
  
  <pre><code> import hdbscan
   import numpy as np
   import seaborn as sns
   import matplotlib.pyplot as plt
   import pandas as pd
   import umap 
   from sklearn.decomposition import PCA
   import sklearn.cluster as cluster
   from sklearn.metrics import adjusted_rand_score, 
   adjusted_mutual_info_score
  
   se1= umap.UMAP(n_neighbors = 20,random_state=42).fit_transform(data_1)
  
   cluster_1 = hdbscan.HDBSCAN(min_cluster_size = 15, min_samples =3).fit_predict(se1)
   clustered = (cluster_1 &gt;=0)
   plt.scatter(se1[~clustered,0],se1[~clustered,1],c=(0.5,0.5,0.5), s=5, alpha =0.5)
   plt.scatter(se1[clustered,0], se1[clustered,1], c=cluster_1[clustered],s=5, cmap='prism');
   plt.show()
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/OxWjH.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/OxWjH.png" alt="enter image description here"></a></p>
  
  <p>How can I add df1 (960 rows x 1 column) as label to all points in above scatter plot?</p>
  
  <pre><code>  df1 = pd.DataFrame(cluster_1)
    plt.annotate(cluster_3,se3[clustered,0], se3[clustered,1])
  </code></pre>
  
  <p>*Error: "Traceback (most recent call last):
    File "", line 1, in 
    File "C:\Users\trivedd\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 2388, in annotate
      return gca().annotate(s, xy, *args, **kwargs)
    File "C:\Users\trivedd\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\axes_axes.py", line 791, in annotate
      a = mtext.Annotation(s, xy, *args, **kwargs)
    File "C:\Users\trivedd\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\cbook\deprecation.py", line 307, in wrapper
      return func(*args, **kwargs)
    File "C:\Users\trivedd\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\text.py", line 2166, in <strong>init</strong>
      x, y = xytext
  ValueError: too many values to unpack (expected 2)"*</p>