"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo crear y anotar un gráfico de barras agrupadas usando Matplotlib en Python?

¿Cómo crear y anotar un gráfico de barras agrupadas usando Matplotlib en Python?

Publicado el 2024-11-10
Navegar:894

How to Create and Annotate a Grouped Bar Chart Using Matplotlib in Python?

Cómo trazar y anotar un gráfico de barras agrupadas

Trazar un gráfico de barras agrupadas con Matplotlib de Python requiere una consideración cuidadosa de la manipulación de datos, el espaciado de barras y el etiquetado. A continuación le indicamos cómo abordar su problema específico:

Preparación de datos

  • En lugar de dividir cada columna por 2233 por separado, use el método div() en todo el df para lograr el mismo efecto en una sola línea: df = df.div(2233).

Pre-matplotlib 3.4.2

  • Ajuste el valor de w a 0.8 / 3 para espaciar correctamente las barras.

Post-matplotlib 3.4.2

  • Utilice matplotlib.pyplot.bar_label y pandas.DataFrame.plot para obtener una configuración más sencilla y completa. enfoque elegante.

Anotación

  • Para etiquetar las barras, use la función annotate() dentro de un bucle que itera sobre los parches.
  • Ajuste el posicionamiento de las anotaciones según la alineación y la estética deseadas.

Código de muestra

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(...).div(2233)

ax = df.plot(kind='bar', color=colors, figsize=(20, 8), ylabel='Percentage', title="...")

for p in ax.patches:
    ax.annotate(f'{p.get_height():0.2f}', (p.get_x()   p.get_width() / 2., p.get_height()), ha='center', va='center', xytext=(0, 10), textcoords='offset points')

Este código generará un gráfico de barras agrupado con barras anotadas alturas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3