Introdução
Na visualização de dados, as legendas ajudam o visualizador a entender o que está observando. As legendas no Matplotlib são rótulos que descrevem os elementos de um gráfico. Este tutorial mostrará como criar legendas para uma figura do Matplotlib.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar as bibliotecas necessárias
Primeiramente, precisamos importar as bibliotecas necessárias - NumPy e Matplotlib. NumPy é uma biblioteca Python que é usada para trabalhar com arrays (vetores), enquanto Matplotlib é uma biblioteca de visualização de dados.
import matplotlib.pyplot as plt
import numpy as np
Criando um Gráfico Básico
Para criar um gráfico básico, precisamos definir os valores de x e y e, em seguida, plotá-los usando plt.plot(). Aqui, plotaremos duas ondas senoidais.
x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.sin(4 * np.pi * x)
plt.plot(x, y1, label='sin(2pix)')
plt.plot(x, y2, label='sin(4pix)')
Adicionando uma Legenda
Para adicionar uma legenda ao gráfico, usamos a função plt.legend(). Podemos passar os rótulos para cada linha como uma lista de strings para o parâmetro labels da função.
plt.legend(labels=['sin(2pix)', 'sin(4pix)'])
Personalizando a Legenda
Podemos personalizar a legenda alterando sua posição, tamanho da fonte e outros parâmetros. Para alterar a posição da legenda, usamos o parâmetro loc. Também podemos alterar o tamanho da fonte usando o parâmetro fontsize.
plt.legend(labels=['sin(2pix)', 'sin(4pix)'], loc='lower right', fontsize='large')
Criando uma Legenda para Subplots
Ao criar subplots, podemos criar uma legenda para todos os subplots usando a função fig.legend(). Aqui, criaremos dois subplots e plotaremos duas linhas em cada subplot.
fig, axs = plt.subplots(1, 2)
x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')
y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')
fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='upper right')
Posicionando a Legenda Fora dos Eixos
Às vezes, podemos querer que a legenda fique fora dos eixos. Podemos usar o parâmetro loc para especificar a localização da legenda fora dos eixos.
fig, axs = plt.subplots(1, 2, layout='constrained')
x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')
y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')
fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='outside right upper')
Resumo
Neste tutorial, aprendemos como criar legendas para figuras do Matplotlib. Vimos como criar um gráfico básico, adicionar uma legenda, personalizar a legenda, criar uma legenda para subplots e posicionar a legenda fora dos eixos. As legendas são um aspecto importante da visualização de dados, e saber como criá-las é uma habilidade essencial para qualquer cientista ou analista de dados.