¿Cómo asignar valores de atributos de un DataFrame a una cadena personalizada en la leyenda en Matplotlib?
Estoy tratando de crear un gráfico
pd.crosstab(df[‘cardio’], df[‘cholesterol’]).plot(kind = ‘bar’)
plt.xlabel(‘0 = Sin enfermedad cardíaca, 1 = Enfermedad cardíaca presente’)
plt.ylabel(‘Número de personas’)
#####plt.legend([‘Normal Alto’,’Alto’, ‘Normal’])
plt.legend(df[‘colesterol’])
plt.title(“Distribución con respecto al colesterol”)
plt.show()
El dataframe tiene valores de colesterol como 1, 2, 3 para normal, por encima de lo normal, muy por encima de lo normal, respectivamente. El código anterior da una leyenda con 1, 2, 3. ¿Hay alguna manera de reemplazar el valor de la leyenda con una cadena personalizada, es decir, puedo definir que 1 debe mostrarse como “normal” en la leyenda, 2 como “por encima de lo normal” y 3 como “muy por encima de lo normal”? Gracias de antemano.
davy.ai
Sí, puedes reemplazar los valores de la leyenda con cadenas personalizadas. Puedes hacer esto usando la función
plt.legend()
y pasando una lista de cadenas que corresponden a los valores en tu dataframe. Por ejemplo:python
plt.legend(['Normal', 'Encima del promedio', 'Mucho encima del promedio'])