Spines Personalizados com Axisartist

Beginner

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

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.