Gráficos de dispersão em Pandas / Pyplot: Como plotar por categoria

Estou tentando fazer um gráfico de dispersão simples no pyplot usando um objeto Pandas DataFrame, mas quero uma maneira eficiente de plotar duas variáveis, mas ter os símbolos ditados por uma terceira coluna (chave). Eu tentei várias maneiras usando o df.groupby, mas não com sucesso. Um exemplo de script df está abaixo. Isso define os marcadores de acordo com 'key1', mas eu gostaria de ver uma legenda com as categorias 'key1'. Estou perto? Obrigado.

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()

questionAnswers(6)

yourAnswerToTheQuestion