Compondo Legendas Personalizadas

Beginner

This tutorial is from open-source community. Access the source code

Introdução

A biblioteca Python Matplotlib oferece uma maneira flexível de criar e personalizar legendas em um gráfico. As legendas são um componente essencial de qualquer gráfico, pois fornecem uma explicação clara e concisa dos dados representados no gráfico. Este laboratório irá guiá-lo através do processo de composição de legendas personalizadas usando objetos Matplotlib.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook para 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ê.

Plotando Linhas

Nesta etapa, plotaremos um conjunto de linhas usando a biblioteca Matplotlib. Primeiro, criamos alguns dados aleatórios usando NumPy. Em seguida, definimos o ciclo de cores usando a função cycler para especificar o mapa de cores. Finalmente, plotamos os dados usando a função plot e chamamos legend() para gerar a legenda.

import matplotlib.pyplot as plt
import numpy as np

## Set random state for reproducibility
np.random.seed(19680801)

## Create random data
N = 10
data = (np.geomspace(1, 10, 100) + np.random.randn(N, 100)).T

## Set color cycle
cmap = plt.cm.coolwarm
plt.rcParams['axes.prop_cycle'] = cycler(color=cmap(np.linspace(0, 1, N)))

## Plot data and generate legend
fig, ax = plt.subplots()
lines = ax.plot(data)
ax.legend()

Compondo uma Legenda Personalizada

Nesta etapa, criaremos uma legenda personalizada usando objetos Matplotlib. Primeiro, importamos a classe Line2D do módulo matplotlib.lines. Em seguida, criamos uma lista de objetos Line2D com atributos de cor, largura e rótulo personalizados. Finalmente, plotamos os dados novamente usando a função plot e chamamos legend() com as linhas personalizadas e os rótulos correspondentes.

## Import Line2D class
from matplotlib.lines import Line2D

## Create custom lines
custom_lines = [Line2D([0], [0], color=cmap(0.), lw=4),
                Line2D([0], [0], color=cmap(.5), lw=4),
                Line2D([0], [0], color=cmap(1.), lw=4)]

## Plot data and generate custom legend
fig, ax = plt.subplots()
lines = ax.plot(data)
ax.legend(custom_lines, ['Cold', 'Medium', 'Hot'])

Compondo uma Legenda Personalizada com Diferentes Objetos Matplotlib

Nesta etapa, criaremos uma legenda personalizada usando diferentes objetos Matplotlib, incluindo Line2D e Patch. Primeiro, importamos a classe Patch do módulo matplotlib.patches. Em seguida, criamos uma lista de objetos Line2D e Patch com atributos personalizados. Finalmente, chamamos legend() com os objetos personalizados e os rótulos correspondentes.

## Import Line2D and Patch classes
from matplotlib.lines import Line2D
from matplotlib.patches import Patch

## Create legend elements
legend_elements = [Line2D([0], [0], color='b', lw=4, label='Line'),
                   Line2D([0], [0], marker='o', color='w', label='Scatter',
                          markerfacecolor='g', markersize=15),
                   Patch(facecolor='orange', edgecolor='r',
                         label='Color Patch')]

## Plot data and generate custom legend
fig, ax = plt.subplots()
ax.legend(handles=legend_elements, loc='center')

Resumo

Neste laboratório, aprendemos como criar legendas personalizadas usando objetos Matplotlib. Começamos plotando um conjunto de linhas e gerando uma legenda padrão. Em seguida, compusemos uma legenda personalizada usando objetos Line2D com atributos personalizados. Finalmente, criamos uma legenda personalizada usando diferentes objetos Matplotlib, incluindo Line2D e Patch. Ao usar legendas personalizadas, podemos fornecer uma explicação clara e concisa dos dados representados em um gráfico.