Eixo Compartilhado #

Você pode compartilhar os limites do eixo x ou y para um eixo com outro passando uma Axesinstância como um argumento de palavra-chave sharex ou sharey .

A alteração dos limites de eixo em um eixo se refletirá automaticamente no outro e vice-versa, portanto, quando você navegar com a barra de ferramentas, os eixos seguirão um ao outro em seu eixo compartilhado. O mesmo vale para mudanças na escala do eixo (por exemplo, log vs. linear). No entanto, é possível haver diferenças na rotulagem dos ticks, por exemplo, você pode desativar seletivamente os rótulos dos ticks em um dos eixos.

O exemplo abaixo mostra como personalizar os rótulos de escala nos vários eixos. Os eixos compartilhados compartilham o localizador de ticks, o formatador de ticks, os limites de exibição e a transformação (por exemplo, log, linear). Mas os próprios ticklabels não compartilham propriedades. Este é um recurso e não um bug, porque você pode querer tornar os rótulos de escala menores nos eixos superiores, por exemplo, no exemplo abaixo.

Se você deseja desativar os rótulos de um determinado Axes (por exemplo, em subplot(211) ou subplot(212), você não pode fazer o truque padrão:

setp(ax2, xticklabels=[])

porque isso altera o formatador de ticks, que é compartilhado entre todos os eixos. Mas você pode alterar a visibilidade dos rótulos, que é uma propriedade:

setp(ax2.get_xticklabels(), visible=False)
demonstração de eixo compartilhado
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()

Galeria gerada por Sphinx-Gallery