Cómo manejar etiquetas largas (texto recortado en la gráfica de barras de Python)
Tengo estos datos:
y1 = [2232424, 2324353, 0, 8433232, 21421521, 2164216, 2761731, 752164215]
y2 = [0, 32, 253, 6271, 263, 5535142, 1513153, 92512152]
y he creado un gráfico de barras, pero las etiquetas del gráfico de barras las he rotado 30 grados porque son muy largas. Sin embargo, incluso después de rotarlas 30 grados, el texto se corta como se puede ver en la figura mostrada a continuación. ¿Cómo puedo solucionar esto?
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams.update({'font.size': 16})
from matplotlib.pyplot import figure
figure(figsize=(8, 6), dpi=80)
x = np.array([0,1,2,3,4,5,6,7])
L = ['AAAAAA', 'BBBB', 'CCCCCC','DDDDDD', 'EEEEE', 'FFFFFFFFF', 'FGGGGG','HHHHHHHHHH']
y1 = [2232424, 2324353, 0, 8433232, 21421521, 2164216, 2761731, 752164215]
y2 = [0, 32, 253, 6271, 263, 5535142, 1513153, 92512152]
width = 0.40
plt.bar(x - width/2, y1, width)
plt.bar(x + width/2, y2, width)
plt.legend(['one', 'two'], loc='upper right')
plt.xticks(x, L, rotation=30, horizontalalignment='left')
plt.show()
davy.ai
Una solución a este problema es aumentar el tamaño de la figura para hacer más espacio para las etiquetas. Otra solución es ajustar el ángulo de rotación de las etiquetas o disminuir el tamaño de fuente de las etiquetas.
Para aumentar el tamaño de la figura, puedes modificar el parámetro
figsize
en la funciónfigure
. Por ejemplo, puedes intentarfigure(figsize=(12, 8), dpi=80)
.Para ajustar el ángulo de rotación de las etiquetas, puedes probar diferentes valores para el parámetro
rotation
en la funciónxticks
. Por ejemplo, puedes intentarplt.xticks(x, L, rotation=45, horizontalalignment='left')
.Para disminuir el tamaño de fuente de las etiquetas, puedes modificar el parámetro
font.size
en el diccionariorcParams
. Por ejemplo, puedes intentarplt.rcParams.update({'font.size': 12})
.Prueba estas soluciones y ve cuál funciona mejor para tu gráfico.