Eje compartido #

Puede compartir los límites del eje x o y para un eje con otro pasando una Axesinstancia como argumento de palabra clave sharex o sharey .

Cambiar los límites de un eje se reflejará automáticamente en el otro y viceversa, de modo que cuando navegue con la barra de herramientas, los ejes se seguirán entre sí en su eje compartido. Lo mismo ocurre con los cambios en la escala del eje (p. ej., logaritmo frente a lineal). Sin embargo, es posible que haya diferencias en el etiquetado de ticks, por ejemplo, puede desactivar selectivamente las etiquetas de ticks en un eje.

El siguiente ejemplo muestra cómo personalizar las etiquetas de marca en los distintos ejes. Los ejes compartidos comparten el localizador de ticks, el formateador de ticks, los límites de vista y la transformación (p. ej., logaritmo, lineal). Pero los ticklabels en sí mismos no comparten propiedades. Esta es una función y no un error, porque es posible que desee hacer que las etiquetas de marca sean más pequeñas en los ejes superiores, por ejemplo, en el ejemplo a continuación.

Si desea desactivar las etiquetas de verificación para un eje determinado (p. ej., en la subparcela (211) o la subparcela (212), no puede hacer el truco estándar:

setp(ax2, xticklabels=[])

porque esto cambia el formateador de ticks, que se comparte entre todos los ejes. Pero puedes alterar la visibilidad de las etiquetas, que es una propiedad:

setp(ax2.get_xticklabels(), visible=False)
demostración de eje compartido
import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.01, 5.0, 0.01)
s1 = np.sin(2 * np.pi * t)
s2 = np.exp(-t)
s3 = np.sin(4 * np.pi * t)

ax1 = plt.subplot(311)
plt.plot(t, s1)
plt.tick_params('x', labelsize=6)

# share x only
ax2 = plt.subplot(312, sharex=ax1)
plt.plot(t, s2)
# make these tick labels invisible
plt.tick_params('x', labelbottom=False)

# share x and y
ax3 = plt.subplot(313, sharex=ax1, sharey=ax1)
plt.plot(t, s3)
plt.xlim(0.01, 5.0)
plt.show()

Galería generada por Sphinx-Gallery