Personalizando a Direção do Eixo no Matplotlib

Beginner

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

Introdução

Matplotlib é uma popular biblioteca de visualização de dados em Python. Ela oferece uma ampla variedade de opções para personalizar gráficos e diagramas. Neste laboratório, exploraremos como definir a direção dos eixos em Matplotlib usando o módulo mpl_toolkits.axisartist.

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

Antes de começarmos, precisamos importar as bibliotecas necessárias. Neste laboratório, usaremos matplotlib.pyplot e mpl_toolkits.axisartist.

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

Criar uma Função para Configurar os Eixos

Criaremos uma função chamada setup_axes para configurar os eixos para nossos gráficos. Esta função recebe dois parâmetros: um objeto fig e um objeto pos. O objeto fig é o objeto figura no qual faremos a plotagem, e o objeto pos é a posição do subplot dentro da figura.

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)

    ax.set_ylim(-0.1, 1.5)
    ax.set_yticks([0, 1])

    ax.axis[:].set_visible(False)

    ax.axis["x"] = ax.new_floating_axis(1, 0.5)
    ax.axis["x"].set_axisline_style("->", size=1.5)

    return ax

Configurar a Direção do Eixo

Agora criaremos um objeto figura e configuraremos a direção do eixo para nossos gráficos. Criaremos cinco subplots diferentes para demonstrar diferentes direções de eixo.

plt.rcParams.update({
    "axes.titlesize": "medium",
    "axes.titley": 1.1,
})

fig = plt.figure(figsize=(10, 4))
fig.subplots_adjust(bottom=0.1, top=0.9, left=0.05, right=0.95)

ax1 = setup_axes(fig, 251)
ax1.axis["x"].set_axis_direction("left")

ax2 = setup_axes(fig, 252)
ax2.axis["x"].label.set_text("Label")
ax2.axis["x"].toggle(ticklabels=False)
ax2.axis["x"].set_axislabel_direction("+")
ax2.set_title("label direction=$+$")

ax3 = setup_axes(fig, 253)
ax3.axis["x"].label.set_text("Label")
ax3.axis["x"].toggle(ticklabels=False)
ax3.axis["x"].set_axislabel_direction("-")
ax3.set_title("label direction=$-$")

ax4 = setup_axes(fig, 254)
ax4.axis["x"].set_ticklabel_direction("+")
ax4.set_title("ticklabel direction=$+$")

ax5 = setup_axes(fig, 255)
ax5.axis["x"].set_ticklabel_direction("-")
ax5.set_title("ticklabel direction=$-$")

ax7 = setup_axes(fig, 257)
ax7.axis["x"].label.set_text("rotation=10")
ax7.axis["x"].label.set_rotation(10)
ax7.axis["x"].toggle(ticklabels=False)

ax8 = setup_axes(fig, 258)
ax8.axis["x"].set_axislabel_direction("-")
ax8.axis["x"].label.set_text("rotation=10")
ax8.axis["x"].label.set_rotation(10)
ax8.axis["x"].toggle(ticklabels=False)

plt.show()

Interpretação dos Resultados

O código produzirá uma figura com cinco subplots que demonstram diferentes direções de eixo. O seguinte é um resumo dos subplots:

  1. Subplot 1: A direção do eixo é definida como "left" (esquerda).
  2. Subplot 2: A direção do rótulo do eixo é definida como positiva.
  3. Subplot 3: A direção do rótulo do eixo é definida como negativa.
  4. Subplot 4: A direção do rótulo da marcação (tick label) é definida como positiva.
  5. Subplot 5: A direção do rótulo da marcação (tick label) é definida como negativa.

Resumo

Neste laboratório, aprendemos como definir a direção do eixo no Matplotlib usando o módulo mpl_toolkits.axisartist. Criamos uma função para configurar os eixos para nossos gráficos e demonstramos diferentes direções de eixo usando múltiplos subplots. Esta é uma ferramenta útil para personalizar gráficos e diagramas no Matplotlib.