Introdução
Neste laboratório, você aprenderá como personalizar as spines (bordas) no Matplotlib. As spines são as linhas que conectam as marcas de escala dos eixos e demarcam os limites da área de dados. Por padrão, o Matplotlib exibe spines em todos os quatro lados do gráfico. No entanto, você pode querer personalizar essas spines para destacar melhor seus dados.
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 às limitações do 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 Matplotlib e NumPy
Primeiramente, precisamos importar as bibliotecas Matplotlib e NumPy para criar nosso gráfico. Usaremos NumPy para criar dados de exemplo para nosso gráfico.
import matplotlib.pyplot as plt
import numpy as np
Criar Dados de Exemplo
Em seguida, criaremos dados de exemplo para nosso gráfico usando NumPy. Geraremos 100 pontos de dados entre 0 e 2π e calcularemos seus valores de seno correspondentes.
x = np.linspace(0, 2 * np.pi, 100)
y = 2 * np.sin(x)
Criar Subplots
Criaremos três subplots para demonstrar diferentes customizações de spines. Usaremos o layout constrito (constrained layout) para garantir que os rótulos não se sobreponham aos eixos.
fig, (ax0, ax1, ax2) = plt.subplots(nrows=3, layout='constrained')
Customizar Spines para os Quatro Lados
No primeiro subplot, exibiremos spines em todos os quatro lados do gráfico. Podemos acessar os spines de cada subplot usando o container ax.spines. Em seguida, podemos customizar os spines usando vários métodos.
ax0.plot(x, y)
ax0.set_title('Normal Spines')
Customizar Spines para os Lados Inferior e Esquerdo
No segundo subplot, exibiremos spines apenas nos lados inferior e esquerdo do gráfico. Podemos ocultar os spines nos lados direito e superior do gráfico usando o método set_visible.
ax1.plot(x, y)
ax1.set_title('Bottom-Left Spines')
## Hide the right and top spines
ax1.spines.right.set_visible(False)
ax1.spines.top.set_visible(False)
Customizar Spines com Limites Restritos ao Intervalo de Dados
No terceiro subplot, exibiremos spines com limites restritos ao intervalo de dados. Podemos limitar a extensão de cada spine ao intervalo de dados usando o método set_bounds.
ax2.plot(x, y)
ax2.set_title('Spines with Bounds Limited to Data Range')
## Only draw spines for the data range, not in the margins
ax2.spines.bottom.set_bounds(x.min(), x.max())
ax2.spines.left.set_bounds(y.min(), y.max())
## Hide the right and top spines
ax2.spines.right.set_visible(False)
ax2.spines.top.set_visible(False)
Mostrar o Gráfico
Finalmente, exibiremos o gráfico usando o método show.
plt.show()
Resumo
Neste laboratório, você aprendeu como customizar spines no Matplotlib. Especificamente, você aprendeu como exibir spines em lados específicos do gráfico, ocultar spines em lados específicos do gráfico e limitar a extensão de cada spine ao intervalo de dados. Ao customizar spines, você pode criar gráficos que destacam melhor seus dados e melhoram sua legibilidade geral.