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!