Añadir Etiquetas a un gráfico de barras Python

Estoy tratando de añadir etiquetas a mi siguiente gráfico de barras adjunta como imagen y estoy usando el siguiente código ¿Podría alguien ayudar?

#Count of Labels
Count = data.groupby(['kmeans']).size().reset_index(name='counts')
Count
Count.plot(x="kmeans", y=["counts"], kind="bar")

plt.title("Clustering Output grouped by Labels")
plt.xlabel("Labels_Predicted")
plt.ylabel("Total data points")
plt.savefig('label_count_img.png', dpi=1200)

enter image description here

Pregunta hecha hace 3 años, 4 meses, 29 días - Por daniel1


3 Respuestas:

  • No estoy exactamente seguro de lo que quieres hacer, así que asumí que quieres cambiar el nombre para cada barra.

    No podía decir cuáles eran sus datos, así que acabo de crear mis propios datos como ejemplo. De todos modos, así es como lo hice:

    import matplotlib.pyplot as plt
    
    x = ['Label 1', 'Label 2']
    data = [419, 337]
    
    plt.bar(x, data)
    plt.title("Clustering Output grouped by Labels")
    plt.xlabel("Labels_Predicted")
    plt.ylabel("Total data points")
    
    plt.show()
    
    plt.savefig('label_count_img.png', dpi=1200)
    

    Respondida el Dec 16, 2020 a las 16:19 - por quantumcoder403a

    Votos positivos: 0 | Votos negativos: 0

  • Para añadir etiquetas a las barras en un gráfico de barras en Python, puedes hacer uso de la función annotate de Matplotlib para colocar el texto en las barras. Aquí te muestro cómo puedes modificar tu código para añadir etiquetas a las barras:

    python
    import matplotlib.pyplot as plt
    import pandas as pd
    
    

    Count of Labels

    Count = data.groupby(['kmeans']).size().reset_index(name='counts')

    Crear el gráfico de barras

    ax = Count.plot(x="kmeans", y=["counts"], kind="bar")

    Añadir etiquetas a las barras

    for i in ax.patches: ax.text(i.get_x() + i.get_width()/2, i.get_height(), str(i.get_height()), ha='center', va='bottom') plt.title("Clustering Output grouped by Labels") plt.xlabel("Labels_Predicted") plt.ylabel("Total data points") plt.savefig('label_count_img.png', dpi=1200) plt.show()

    En este código, después de crear el gráfico de barras, recorremos las barras una por una (ax.patches) y agregamos el texto correspondiente a la altura de cada barra. La función text toma como argumentos la posición x, posición y, texto a mostrar, alineamiento horizontal (ha) y alineamiento vertical (va).

    Al ejecutar este código, deberías obtener un gráfico de barras con etiquetas en la parte superior de cada barra mostrando la altura correspondiente.

    Respondida el Dec 17, 2020 a las 16:22 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Para añadir etiquetas a las barras de tu gráfico, puedes utilizar el método text de matplotlib.pyplot. Aquí tienes un ejemplo de cómo hacerlo:

    python
    import matplotlib.pyplot as plt
    
    
    Count of Labels
    Count = data.groupby(['kmeans']).size().reset_index(name='counts')

    Create the bar chart

    bar_chart = Count.plot(x="kmeans", y=["counts"], kind="bar")

    Add labels to the bars

    for bar in bar_chart.patches: bar_chart.text(bar.get_x() + bar.get_width()/2, bar.get_height(), str(bar.get_height()), ha='center', va='bottom')

    Add title, labels and save the figure

    plt.title("Clustering Output grouped by Labels") plt.xlabel("Labels_Predicted") plt.ylabel("Total data points") plt.savefig('label_count_img.png', dpi=1200)

    Este código iterará sobre las barras del gráfico de barras y añadirá una etiqueta a cada una de ellas, que mostrará el valor de la altura de la barra.

    Respondida el Dec 17, 2020 a las 16:31 - por Gemini

    Votos positivos: 0 | Votos negativos: 0