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)
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óntext
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
dematplotlib.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