Legendas (Título da legenda)
É possível adicionar um título para a legenda, o que é feito passando o nome do título, como uma str
, para o parâmetro title
em plt.legend()
.
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(ncol=2, title="Animais")
plt.show()
Figura 1 - Caixa da legenda com título.
Alinhamento do título
É possível alterar o alinhamento do titulo da legenda, o que é feito utilizando um método da própria legenda, que é o método ._legend_box.align()
, que deve receber uma str
com o tipo de alinhamento desejado:
"center"
(centralizado, padrão);"left"
(esquerda);"right"
(direita);
Para utilizar este parâmetro, precisamos criar um objeto de legenda, da mesma forma utilizada para alterar a espessura da borda da legenda.
leg = plt.legend()
E então aplicar o método ._legend_box.align(x)
, onde x
é uma str
com uma das opções listadas acima. Por exemplo, para deixar o titulo da legenda alinhadas à esquerda:
leg._legend_box.align = "left"
Então:
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])
leg = plt.legend(ncol=2, title="Animais")
leg._legend_box.align = "left"
plt.show()
Figura 2 - Caixa da legenda com título alinhado à esquerda.
Tamanho da fonte do título
Para alterar o tamanho da fonte do título, basta passar uma str
com o nome do tamanho da fonte ou um número (int
ou float
) para o parâmetro title_fontsize
.
A lista de opções para utilizar str
:
'xx-small'
;'x-small'
;'small'
;'medium'
;'large'
;'x-large'
;'xx-large'
;
Por exemplo:
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])
leg = plt.legend(ncol=2, title="Animais", title_fontsize='xx-large')
leg._legend_box.align = "left"
plt.show()
Figura 3 - Caixa da legenda com título alinhado com tamanho de fonte alterado.