Azimlib0.3.0 · documentation

Rotação e alinhamento de textos

Outputs under gallery/ are local generated previews, not distributed assets. For versioned current images, see the 0.3 gallery.

O alinhamento padrão usa a caixa completa depois da rotação, seguindo a referência instalada Matplotlib 3.11.2. rotation_mode='anchor' alinha antes de girar. xtick e ytick ajustam o alinhamento conforme o ângulo, como os modos homônimos da referência; eles são opcionais, não o padrão dos ticks.

import azimlib as azl

fig, ax = azl.subplots(layout='constrained')
ax.map('brazil')
ax.tick_params(labelrotation=35)  # default: caixa alinhada após girar
ax.set_xlabel('Longitude', labelpad=4)
ax.set_ylabel('Latitude', labelpad=4)  # vertical, anchor por padrão
ax.set_title('Brasil\nDivisões territoriais')

text = ax.text(-48, -15, 'Região', rotation=35, ha='center', va='top')
text.set_rotation_mode('anchor')
bar = fig.colorbar(azl.cm.ScalarMappable(azl.colors.Normalize(0, 100)), ax=ax)
bar.ax.tick_params(labelrotation=35, labelrotation_mode='ytick')
fig.savefig('mapa.svg')

Text de mapa, annotation, títulos, nomes dos eixos e textos da Figure usam as mesmas regras próprias. set_rotation() aceita números, 'vertical' e 'horizontal'; set_rotation_mode() e os getters permitem editar o modo. tick_params(labelrotation_mode=...) atua nos ticks major/minor selecionados, incluindo colorbars. PNG, SVG, Tk e ticks regenerados no HTML usam a mesma convenção de ângulos. Nenhum caminho importa Matplotlib no runtime.

Um texto multilinha conserva uma caixa retangular única para layout, mesmo quando suas linhas têm comprimentos diferentes. Nomes dos eixos reservam o padding a partir das caixas dos ticks rotacionados; títulos automáticos consideram as decorações que ultrapassam o topo. O layout não muda os valores ou a quantidade de ticks fixados pelo usuário. Fontes grandes em painéis pequenos ainda exigem aumentar a figura ou escolher menos ticks, como na referência. Annotations/textos livres não recebem um solver universal de colisões.

Verificação direta

Reprodução: python tools/inspect_text_rotation.py e python tools/compare_text_rotation.py no ambiente de referência com Matplotlib. MathText, TeX e shaping complexo permanecem fora deste corte.