1
resposta

[Dúvida] Adicionando anotações

for i, v in enumerate(america_do_sul_sort['Total']):
    ax.text(v + 20, i, str(v), color = 'k', fontsize = 10, ha = 'left', va = 'center')

Quando eu tiro as partes: ha = 'left', va = 'center', não há nenhuma alteração aparente.

1 resposta

Olá, William, tudo bem?

Quando você remove os parâmetros ha='left' e va='center', pode não haver uma alteração visível clara dependendo do contexto em que o texto está sendo adicionado.

Executei o código e consegui identificar a diferença, ainda que sutil. O texto fica posicionado de forma diferente:

Com os parâmetros:

Gráfico de barras horizontais mostrando o número de imigrantes de países da América do Sul para o Canadá entre 1980 e 2013. À direita das barras aparecem os números absolutos de imigrantes. Uma seta vermelha aponta para a barra da Colômbia e, abaixo da barra da Argentina, há um texto em vermelho escrito 'Com os parâmetros'.

Sem os parâmetros:

Gráfico de barras horizontais com número de imigrantes sul-americanos para o Canadá entre 1980 e 2013. À direita das barras aparecem os valores absolutos. Uma seta vermelha aponta para a barra da Colômbia e, abaixo da barra do Chile, há um texto em vermelho escrito 'Sem os parâmetros'


A diferença entre os dois códigos está nos argumentos de alinhamento do texto (ha e va) dentro do ax.text().

  • No primeiro código (primeira imagem) usamos ha='left', va='center'.
    Isso faz com que o número fique alinhado à esquerda do ponto (horizontalmente) e centralizado em relação à altura da barra (verticalmente).

  • No segundo código (segunda imagem) não passamos esses parâmetros. O Matplotlib, então, usa os valores padrão:

    • ha='left' (mesmo alinhamento horizontal do primeiro caso).
    • va='baseline' (em vez de center). Esse alinhamento usa a linha de base da fonte, e por isso o número fica um pouco acima do centro da barra.

Ou seja, a diferença é sutil: com va='center' o número fica exatamente centralizado, enquanto com o padrão va='baseline' ele aparece levemente deslocado para cima.

💡 Dica: Se quiser explorar mais, você pode testar valores como 'right', 'top' ou 'bottom' para perceber melhor como os parâmetros de alinhamento afetam o posicionamento do texto.

O link está em inglês, mas você pode usar a tradução automática do navegador

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!