Espinas personalizadas con Axisartist

Beginner

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

Introducción

Este tutorial te mostrará cómo utilizar la librería Matplotlib para crear espinas personalizadas en posiciones específicas.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haz 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 tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.

Importar bibliotecas

En primer lugar, necesitamos importar las bibliotecas necesarias para este tutorial. Vamos a utilizar Matplotlib y NumPy.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits import axisartist

Crear figura y subtramas

Vamos a crear una figura con dos subtramas utilizando el método add_gridspec.

fig = plt.figure(figsize=(6, 3), layout="constrained")
gs = fig.add_gridspec(1, 2)

Crear subtrama 1

En la primera subtrama, crearemos un nuevo eje que pasa por y = 0 utilizando axisartist.Axes. También haremos que las otras espinas sean invisibles.

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)

Crear subtrama 2

En la segunda subtrama, usaremos axisartist.axislines.AxesZero para crear automáticamente los ejes xzero e yzero. Haremos que las otras espinas sean invisibles y haremos visible el eje xzero.

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)

Graficar datos

Ahora que hemos creado nuestras subtramas, podemos graficar nuestros datos utilizando 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 la gráfica

Finalmente, podemos mostrar nuestra gráfica utilizando plt.show().

plt.show()

Resumen

En este tutorial, aprendimos cómo crear espinas personalizadas en posiciones específicas utilizando la librería Matplotlib. Creamos una figura con dos subtramas y utilizamos axisartist.Axes y axisartist.axislines.AxesZero para crear nuestras espinas. También hicimos que las otras espinas fueran invisibles y mostramos el eje xzero. Finalmente, graficamos nuestros datos y mostramos la gráfica.