Introducción
En este laboratorio, aprenderá a crear un eje parasito utilizando los módulos mpl_toolkits.axes_grid1.parasite_axes.HostAxes y mpl_toolkits.axes_grid1.parasite_axes.ParasiteAxes en Matplotlib. El eje parasito comparte la escala en x con un eje principal, pero muestra una escala diferente en la dirección y.
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 las 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 sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importar las bibliotecas necesarias
En primer lugar, necesitamos importar las bibliotecas necesarias. En este laboratorio, usaremos matplotlib.pyplot para la representación gráfica, mpl_toolkits.axes_grid1.parasite_axes.HostAxes y mpl_toolkits.axes_grid1.parasite_axes.ParasiteAxes para crear un eje parasito.
import matplotlib.pyplot as plt
from mpl_toolkits.axisartist.parasite_axes import HostAxes
Crear una figura y agregar un eje principal
Creamos una figura utilizando el método plt.figure() y agregamos un eje principal utilizando el método fig.add_axes(). El eje principal comparte la escala en x con el eje parasito.
fig = plt.figure()
host = fig.add_axes([0.15, 0.1, 0.65, 0.8], axes_class=HostAxes)
Crear ejes parasitos
Creamos dos ejes parasitos utilizando el método host.get_aux_axes(). Establecemos viewlim_mode=None para garantizar que los ejes parasitos compartan la misma escala en x con el eje principal. También establecemos sharex=host para asegurar que se comparta la escala en x.
par1 = host.get_aux_axes(viewlim_mode=None, sharex=host)
par2 = host.get_aux_axes(viewlim_mode=None, sharex=host)
Ocultar el eje y derecho del eje principal
Ocultamos el eje y derecho del eje principal utilizando el método host.axis["right"].set_visible(False).
host.axis["right"].set_visible(False)
Mostrar el eje y derecho del primer eje parasito
Mostramos el eje y derecho del primer eje parasito utilizando el método par1.axis["right"].set_visible(True). También establecemos par1.axis["right"].major_ticklabels.set_visible(True) y par1.axis["right"].label.set_visible(True) para mostrar las etiquetas de las marcas y la etiqueta del eje y derecho.
par1.axis["right"].set_visible(True)
par1.axis["right"].major_ticklabels.set_visible(True)
par1.axis["right"].label.set_visible(True)
Agregar un eje y derecho al segundo eje parasito
Agregamos un eje y derecho al segundo eje parasito utilizando el método par2.axis["right2"] = par2.new_fixed_axis(loc="right", offset=(60, 0)).
par2.axis["right2"] = par2.new_fixed_axis(loc="right", offset=(60, 0))
Graficar datos en todos los ejes
Graficamos datos en todos los ejes utilizando el método plot(). También establecemos etiquetas y límites para todos los ejes utilizando el método set().
p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")
p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")
host.set(xlim=(0, 2), ylim=(0, 2), xlabel="Distance", ylabel="Density")
par1.set(ylim=(0, 4), ylabel="Temperature")
par2.set(ylim=(1, 65), ylabel="Velocity")
Agregar leyenda y colores de los ejes
Agregamos una leyenda al eje principal utilizando el método host.legend(). También establecemos el color de la etiqueta del eje y izquierdo del eje principal, la etiqueta del eje y derecho del primer eje parasito y la etiqueta del eje y derecho del segundo eje parasito para que coincidan con sus respectivas líneas utilizando los métodos host.axis["left"].label.set_color(p1.get_color()), par1.axis["right"].label.set_color(p2.get_color()) y par2.axis["right2"].label.set_color(p3.get_color()).
host.legend()
host.axis["left"].label.set_color(p1.get_color())
par1.axis["right"].label.set_color(p2.get_color())
par2.axis["right2"].label.set_color(p3.get_color())
Mostrar la gráfica
Mostramos la gráfica utilizando el método plt.show().
plt.show()
Resumen
En este laboratorio, aprendimos cómo crear un eje parasito utilizando los módulos mpl_toolkits.axes_grid1.parasite_axes.HostAxes y mpl_toolkits.axes_grid1.parasite_axes.ParasiteAxes en Matplotlib. También aprendimos cómo graficar datos en el eje parasito y compartir la escala x con el eje principal.