Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] É possível alterar a cor da label nas colunas de forma individual ?

Bom dia, alguém sabe se é possível alterar a cor das labels nas barras empilhadas de forma individual ? Por exemplo nos valores da região Sul, onde a cor de fundo é um cinza mais claro e a cor da informação está em branco talvez fique difícil de visualizar para algumas pessoas, e em vez de ter que trocar para todas as outras regiões, trocar apenas para a região Sul, de forma a dar mais contraste.

grafico_barra_empilhada

2 respostas
solução!

Boa noite, João! Tudo bem com você?

É possível sim, vou te ensinar como podemos fazer isso. Teremos que primeiro adicionar uma lista com as cores de cada barra. No nosso caso, temos 5, uma para cada região. Teremos a seguinte lista:

cores_das_labels = ['white', 'white', 'white', 'white', 'black']

Com a nossa lista de cores das labels criadas, vamos agora percorrer através de um loop cada barra e adicionar as cores das labels ao atributo color (color = cores_das_labels[indice]):

cores_das_labels = ['white', 'white', 'white', 'white', 'black']

for indice, container in enumerate(ax.containers):
    labels = [f'R$ {valor.get_height()/1000:,.0f}k'.replace(",",".") for valor in container]
    ax.bar_label(container, label_type="center", labels = labels, size = 10, color = cores_das_labels[indice], fontweight = "bold")

Em resumo, o que fizemos foi utilizar uma lista de cores predefinidas e atribuí-las diretamente às labels das barras. Veja como ficará nosso resultado:

Imagem do gráfico com a cor da barra da região sul na cor preta após executar o código

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

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

Entendi, perfeito! Muito obrigado pela explicação.