Verifique el eje x de la figura a continuación. ¿Cómo puedo mover las etiquetas un poco hacia la izquierda para que se alineen con sus respectivas marcas?
Estoy girando las etiquetas usando:
ax.set_xticks(xlabels_positions)
ax.set_xticklabels(xlabels, rotation=45)
Pero, como puede ver, la rotación se centra en el medio de las etiquetas de texto. Lo que hace que parezca que están desplazados hacia la derecha.
Intenté usar esto en su lugar:
ax.set_xticklabels(xlabels, rotation=45, rotation_mode="anchor")
... pero no hace lo que deseaba. Y "anchor"
parece ser el único valor permitido para el rotation_mode
parámetro.
matplotlib
Filipe Correia
fuente
fuente
xlabels = ax.get_xticklabels()
si solo quiere usar las etiquetas existentes.Rotar las etiquetas es ciertamente posible. Sin embargo, tenga en cuenta que hacerlo reduce la legibilidad del texto. Una alternativa es alternar las posiciones de las etiquetas usando un código como este:
Para obtener más antecedentes y alternativas, vea esta publicación en mi blog
fuente
Una alternativa fácil y sin bucles es usar la
horizontalalignment
propiedad Text como argumento de palabra clave paraxticks
[1]. A continuación, en la línea comentada, he forzado laxticks
alineación para que sea "correcta".(
yticks
ya alinea el borde derecho con la marca de forma predeterminada, pero paraxticks
el valor predeterminado parece ser "centro").[1] Lo encontrará descrito en la documentación de xticks si busca la frase "Propiedades de texto".
fuente
Si no desea modificar las etiquetas xtick, simplemente puede usar:
plt.xticks(rotation=45)
fuente
plt.xticks(rotation=45,ha='right')