Legendas (Labels)
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.
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.
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.
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.
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.
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.
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.