Leyenda de diagrama de dispersión multicolor en Python

Tengo algunos datos básicos sobre el tamaño del motor del automóvil, la potencia y el tipo de carrocería (muestra a continuación)

         body-style  engine-size  horsepower
0   convertible          130       111.0
2     hatchback          152       154.0
3         sedan          109       102.0
7         wagon          136       110.0
69      hardtop          183       123.0

Fuera de lo cual hice un diagrama de dispersión con caballos de fuerza en el eje x, tamaño del motor en el eje y y usando el estilo de carrocería como un esquema de color para diferenciar las clases de carrocería y. También utilicé la "relación de compresión" de cada automóvil de un marco de datos separado para dictar el tamaño del punto de punto

Esto funcionó bien, excepto que no puedo mostrar leyendas de color para mi trama. Se necesita ayuda ya que soy un principiante.

Aquí está mi código:

dict = {'convertible':'red' ,  'hatchback':'blue' , 'sedan':'purple' , 'wagon':'yellow' , 'hardtop':'green'}

wtf["colour column"] = wtf["body-style"].map(dict)
wtf["comp_ratio_size"] = df['compression-ratio'].apply ( lambda x : x*x)

fig = plt.figure(figsize=(8,8),dpi=75)
ax = fig.gca()
plt.scatter(wtf['engine-size'],wtf['horsepower'],c=wtf["colour column"],s=wtf['comp_ratio_size'],alpha=0.4)
ax.set_xlabel('horsepower')
ax.set_ylabel("engine-size")
ax.legend()

Respuestas a la pregunta(1)

Su respuesta a la pregunta