Verifique o eixo x da figura abaixo. Como posso mover os rótulos um pouco para a esquerda para que eles se alinhem com seus respectivos ticks?
Estou girando os rótulos usando:
ax.set_xticks(xlabels_positions)
ax.set_xticklabels(xlabels, rotation=45)
Mas, como você pode ver, a rotação está centralizada no meio dos rótulos de texto. O que faz parecer que eles são deslocados para a direita.
Eu tentei usar isso:
ax.set_xticklabels(xlabels, rotation=45, rotation_mode="anchor")
... mas não faz o que eu desejava. E "anchor"
parece ser o único valor permitido para o rotation_mode
parâmetro.
matplotlib
Filipe Correia
fonte
fonte
xlabels = ax.get_xticklabels()
se você quiser apenas usar os rótulos existentes.Girar as etiquetas é certamente possível. Observe que isso reduz a legibilidade do texto. Uma alternativa é alternar posições de etiqueta usando um código como este:
Para mais informações e alternativas, consulte este post no meu blog
fonte
Uma alternativa fácil e sem loop é usar a
horizontalalignment
propriedade Text como argumento de palavra-chave paraxticks
[1]. Abaixo, na linha comentada, forcei oxticks
alinhamento a estar "certo".(
yticks
já alinha a borda direita com o tique por padrão, masxticks
o padrão parece ser "central".)[1] Você encontra o descrito na documentação do xticks se procurar pela frase "Propriedades do texto".
fonte
Se você não deseja modificar os rótulos do xtick, basta usar:
plt.xticks(rotation=45)
fonte
plt.xticks(rotation=45,ha='right')