Personalizar la dirección del eje en Matplotlib

Beginner

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

Introducción

Matplotlib es una popular biblioteca de visualización de datos en Python. Proporciona una amplia variedad de opciones para personalizar gráficos y diagramas. En este laboratorio, exploraremos cómo establecer la dirección de los ejes en Matplotlib utilizando el módulo mpl_toolkits.axisartist.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.

Importar bibliotecas

Antes de comenzar, necesitamos importar las bibliotecas necesarias. En este laboratorio, usaremos matplotlib.pyplot y mpl_toolkits.axisartist.

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

Crear una función para configurar los ejes

Crearemos una función llamada setup_axes para configurar los ejes de nuestros gráficos. Esta función toma dos parámetros, un objeto fig y un objeto pos. El objeto fig es el objeto de figura sobre el que graficaremos, y el objeto pos es la posición del subgráfico dentro de la 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

Establecer la dirección del eje

Ahora crearemos un objeto de figura y estableceremos la dirección del eje para nuestros gráficos. Crearemos cinco subgráficos diferentes para demostrar diferentes direcciones de eje.

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()

Interpretación de los resultados

El código generará una figura con cinco subgráficos que demuestran diferentes direcciones de eje. A continuación, se presenta un resumen de los subgráficos:

  1. Subgráfico 1: La dirección del eje está establecida hacia la izquierda.
  2. Subgráfico 2: La dirección de la etiqueta del eje está establecida en positiva.
  3. Subgráfico 3: La dirección de la etiqueta del eje está establecida en negativa.
  4. Subgráfico 4: La dirección de la etiqueta de la marca se establece en positiva.
  5. Subgráfico 5: La dirección de la etiqueta de la marca se establece en negativa.

Resumen

En este laboratorio, aprendimos cómo establecer la dirección del eje en Matplotlib utilizando el módulo mpl_toolkits.axisartist. Creamos una función para configurar los ejes de nuestros gráficos y demostramos diferentes direcciones de eje utilizando múltiples subgráficos. Esta es una herramienta útil para personalizar gráficos y diagramas en Matplotlib.