Saltar al contenido

python: cómo mostrar valores en la parte superior del gráfico de barras

Si hallas algún error en tu código o trabajo, recuerda probar siempre en un ambiente de testing antes subir el código al proyecto final.

Solución:

Simplemente agregue

for i, v in enumerate(y):
    plt.text(xlocs[i] - 0.25, v + 0.01, str(v))

antes de plt.show(). Puede ajustar la centralización o la altura del texto cambiando los valores (-0.25) y (0.01), respectivamente.

Nueva parcela

plt.text() le permitirá agregar texto a su gráfico. Solo le permite agregar texto a un conjunto de coordenadas a la vez, por lo que deberá recorrer los datos para agregar texto para cada barra.

A continuación se muestran los principales ajustes que hice en su código:

# assign your bars to a variable so their attributes can be accessed
bars = plt.bar(x, height=y, width=.4)

# access the bar attributes to place the text in the appropriate location
for bar in bars:
    yval = bar.get_height()
    plt.text(bar.get_x(), yval + .005, yval)

yo añadí .005 al valor y para que el texto se coloque encima de la barra. Esto se puede modificar para obtener la apariencia que buscas.

A continuación se muestra un ejemplo de trabajo completo basado en el código original. También hice algunas modificaciones para que sea menos frágil:

import matplotlib.pyplot as plt

# set the initial x-values to what you are wanting to plot
x=[i/2 for i in range(10)]
y=[0.95,
0.95,
0.89,
0.8,
0.74,
0.65,
0.59,
0.51,
0.5,
0.48]

bars = plt.bar(x, height=y, width=.4)

xlocs, xlabs = plt.xticks()

# reference x so you don't need to change the range each time x changes
xlocs=[i for i in x]
xlabs=[i for i in x]

plt.xlabel('Max Sigma')
plt.ylabel('Test Accuracy')
plt.xticks(xlocs, xlabs)

for bar in bars:
    yval = bar.get_height()
    plt.text(bar.get_x(), yval + .005, yval)

plt.show()

Reseñas y calificaciones del artículo

Si guardas algún titubeo o disposición de aumentar nuestro escrito puedes dejar una interpretación y con deseo lo interpretaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *