es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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.

Tags:  , , , ,

Answer

  1. Avatar for 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'])

Comments are closed.