Estoy tratando de hacer un diagrama de dispersión simple en pyplot usando un objeto Pandas DataFrame, pero quiero una forma eficiente de trazar dos variables pero que los símbolos estén dictados por una tercera columna (clave). He intentado varias formas usando df.groupby, pero no con éxito. A continuación se muestra un ejemplo de secuencia de comandos df. Esto colorea los marcadores de acuerdo con 'key1', pero me gustaría ver una leyenda con las categorías de 'key1'. Estoy cerca? Gracias.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.normal(10,1,30).reshape(10,3), index = pd.date_range('2010-01-01', freq = 'M', periods = 10), columns = ('one', 'two', 'three'))
df['key1'] = (4,4,4,6,6,6,8,8,8,8)
fig1 = plt.figure(1)
ax1 = fig1.add_subplot(111)
ax1.scatter(df['one'], df['two'], marker = 'o', c = df['key1'], alpha = 0.8)
plt.show()