Introdução
Este tutorial mostrará como usar a biblioteca Matplotlib para criar spines (eixos) personalizados em posições específicas.
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 Bibliotecas
Primeiramente, precisamos importar as bibliotecas necessárias para este tutorial. Usaremos Matplotlib e NumPy.
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits import axisartist
Criar Figura e Subplots
Criaremos uma figura com dois subplots usando o método add_gridspec.
fig = plt.figure(figsize=(6, 3), layout="constrained")
gs = fig.add_gridspec(1, 2)
Criar Subplot 1
No primeiro subplot, criaremos um novo eixo que passa por y=0 usando axisartist.Axes. Também tornaremos as outras spines invisíveis.
ax0 = fig.add_subplot(gs[0, 0], axes_class=axisartist.Axes)
ax0.axis["y=0"] = ax0.new_floating_axis(nth_coord=0, value=0, axis_direction="bottom")
ax0.axis["y=0"].toggle(all=True)
ax0.axis["y=0"].label.set_text("y = 0")
ax0.axis["bottom", "top", "right"].set_visible(False)
Criar Subplot 2
No segundo subplot, usaremos axisartist.axislines.AxesZero para criar automaticamente os eixos xzero e yzero. Tornaremos as outras spines invisíveis e definiremos o eixo xzero como visível.
ax1 = fig.add_subplot(gs[0, 1], axes_class=axisartist.axislines.AxesZero)
ax1.axis["xzero"].set_visible(True)
ax1.axis["xzero"].label.set_text("Axis Zero")
ax1.axis["bottom", "top", "right"].set_visible(False)
Plotar Dados
Agora que criamos nossos subplots, podemos plotar nossos dados usando np.sin(x).
x = np.arange(0, 2*np.pi, 0.01)
ax0.plot(x, np.sin(x))
ax1.plot(x, np.sin(x))
Mostrar o Plot
Finalmente, podemos exibir nosso plot usando plt.show().
plt.show()
Resumo
Neste tutorial, aprendemos como criar spines (eixos) personalizados em posições específicas usando a biblioteca Matplotlib. Criamos uma figura com dois subplots e usamos axisartist.Axes e axisartist.axislines.AxesZero para criar nossos spines. Também tornamos os outros spines invisíveis e definimos o eixo xzero como visível. Finalmente, plotamos nossos dados e exibimos nosso plot.