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.
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.
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:

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!