Legendas (Labels)

3 minute read


Os labels são os somes de cada elemento adicionado no gráfico. Em geral, eles são adicionados no momento que o elemento é criado, que é a forma que estamos utilizando. Em alguns casos, é interessante alterar alguns parâmetros dos labels de forma a melhorar a estética e a apresentação dos resultados.

Tamanho da fonte

O tamanho da fonte da legenda pode ser alterado passando o parâmetro fontsize para o plt.legend(). Este parâmetro recebe um número (int ou float) ou uma str de referência, que é utilizado para controlar o tamanho da fonte utilizada. As opções de str são:

  • 'xx-small';
  • 'x-small';
  • 'small';
  • 'medium';
  • 'large';
  • 'x-large';
  • 'xx-large';

Por exemplo, para utilizar o tamanho de fonte 'xx-large', basta passar fontsize='xx-large', da seguinte forma:

plt.figure(figsize=(8,6))
plt.scatter(cachorro_peso, cachorro_altura, label="Cachorros")
plt.scatter(gatos_peso, gatos_altura, label="Gatos")
plt.plot(pinguins_peso, pinguins_altura, marker="o", c="g", label="Pinguins")
plt.xlabel("Peso (kg)")
plt.ylabel("Altura (cm)")
plt.title("Relação entre peso e altura de diferentes animais")
plt.ylim([0,125])
plt.legend(fontsize='xx-large')
plt.show()

Figura 1 - Legendas com tamanho de fonte alterado.

gráfico de dispersão combinado com gráfico de linhas desenhado com matplotlib, com o tamanho da fonte da legenda alterado.


Cor dos labels nas legendas

A cor dos labels nas legendas pode ser alterada passando uma str com o nome da cor, ou uma sequência (list, tuple, etc) contendo str em cada elemento com o nome da cor desejada, para o parâmetro labelcolor. As cores disponíveis são as mesmas vistas anteriormente.

Por exemplo, para alterar a cor dos labels para vermelho:

plt.figure(figsize=(8,6))
plt.scatter(cachorro_peso, cachorro_altura, label="Cachorros")
plt.scatter(gatos_peso, gatos_altura, label="Gatos")
plt.plot(pinguins_peso, pinguins_altura, marker="o", c="g", label="Pinguins")
plt.xlabel("Peso (kg)")
plt.ylabel("Altura (cm)")
plt.title("Relação entre peso e altura de diferentes animais")
plt.ylim([0,125])
plt.legend(fontsize='xx-large', labelcolor='red')
plt.show()

Figura 2 - Legendas com a cor do label alterada.

gráfico de dispersão combinado com gráfico de linhas desenhado com matplotlib, com a cor do label alterada.


Para personalizar cada label individualmente, basta passar uma sequência com as cores desejadas para o parâmetro labelcolor (esta sequência deve ter o mesmo número de elementos adicionados na legenda).

Por exemplo, dada esta sequência de cores:

cores = ['red', 'green', 'blue']

E então fazendo labelcolor = cores, obtemos:

plt.figure(figsize=(8,6))
plt.scatter(cachorro_peso, cachorro_altura, label="Cachorros")
plt.scatter(gatos_peso, gatos_altura, label="Gatos")
plt.plot(pinguins_peso, pinguins_altura, marker="o", c="g", label="Pinguins")
plt.xlabel("Peso (kg)")
plt.ylabel("Altura (cm)")
plt.title("Relação entre peso e altura de diferentes animais")
plt.ylim([0,125])
plt.legend(fontsize='xx-large', labelcolor=cores)
plt.show()

Figura 3 - Legendas com a cor do label alterada.

gráfico de dispersão combinado com gráfico de linhas desenhado com matplotlib, com a cor do label alterada.


Atenção

O parâmetro labelcolor funciona apenas na versão 3.2 ou superior do matplotlib.

Também podemos passar três str de referência para coincidir com as cores do marcador. As str de referência são as seguintes:

  • 'linecolor': o texto terá a mesma cor que a cor da linha;
  • 'markerfacecolor' ou 'mfc': o texto terá a mesma cor que a cor de dentro do marcador;
  • 'markeredgecolor' ou 'mec': o texto terá a mesma cor que a cor da borda do marcador;
plt.figure(figsize=(8,6))
# plt.scatter(cachorro_peso, cachorro_altura, label="Cachorros")
# plt.scatter(gatos_peso, gatos_altura, label="Gatos")
plt.plot(pinguins_peso, pinguins_altura, marker="o", c="g", markerfacecolor="y", markeredgecolor="m", label="Pinguins")
plt.xlabel("Peso (kg)")
plt.ylabel("Altura (cm)")
plt.title("Relação entre peso e altura de diferentes animais")
plt.ylim([0,125])
plt.legend(fontsize='xx-large', labelcolor='mfc')
plt.show()

Figura 4 - Legendas com a cor do label combinando com a cor da face do marcador.

gráfico de dispersão combinado com gráfico de linhas desenhado com matplotlib, com a cor do label combinando com a cor da face do marcador.


plt.figure(figsize=(8,6))
# plt.scatter(cachorro_peso, cachorro_altura, label="Cachorros")
# plt.scatter(gatos_peso, gatos_altura, label="Gatos")
plt.plot(pinguins_peso, pinguins_altura, marker="o", c="g", markerfacecolor="y", markeredgecolor="m", label="Pinguins")
plt.xlabel("Peso (kg)")
plt.ylabel("Altura (cm)")
plt.title("Relação entre peso e altura de diferentes animais")
plt.ylim([0,125])
plt.legend(fontsize='xx-large', labelcolor='mec')
plt.show()

Figura 5 - Legendas com a cor do label combinando com a cor da borda do marcador.

gráfico de dispersão combinado com gráfico de linhas desenhado com matplotlib, com a cor do label combinando com a cor da borda do marcador.


plt.figure(figsize=(8,6))
# plt.scatter(cachorro_peso, cachorro_altura, label="Cachorros")
# plt.scatter(gatos_peso, gatos_altura, label="Gatos")
plt.plot(pinguins_peso, pinguins_altura, marker="o", c="g", markerfacecolor="y", markeredgecolor="m", label="Pinguins")
plt.xlabel("Peso (kg)")
plt.ylabel("Altura (cm)")
plt.title("Relação entre peso e altura de diferentes animais")
plt.ylim([0,125])
plt.legend(fontsize='xx-large', labelcolor='linecolor')
plt.show()

Figura 6 - Legendas com a cor do label combinando com a cor da linha.

gráfico de dispersão combinado com gráfico de linhas desenhado com matplotlib, com a cor do label combinando com a cor da linha.


ATENÇÃO

Os parâmetros acima não funcionam corretamente para a versão 3.3.4 do matplotlib para plt.scatter(). Mas para o plt.scatter(), elas funcionam corretamente.


Por qual motivo seria interessante alterar a cor dos labels na legenda?

Para reforçar a ligação entre o elemento e a sua respectiva legenda

Nenhum motivo

Apenas para fins estéticos

Para destacar algum elemento específico


Anterior Próximo

Updated: