Asse condiviso #

È possibile condividere i limiti dell'asse x o y per un asse con un altro passando Axesun'istanza come argomento della parola chiave sharex o sharey .

La modifica dei limiti dell'asse su un asse si rifletterà automaticamente sull'altro e viceversa, quindi quando navighi con la barra degli strumenti gli assi si susseguiranno l'un l'altro sul loro asse condiviso. Idem per i cambiamenti nel ridimensionamento dell'asse (ad esempio, log vs. lineare). Tuttavia, è possibile avere differenze nell'etichettatura dei tick, ad esempio, è possibile disattivare selettivamente le etichette dei tick su un asse.

L'esempio seguente mostra come personalizzare le etichette delle tacche sui vari assi. Gli assi condivisi condividono il tick locator, il formattatore tick, i limiti di visualizzazione e la trasformazione (ad es. log, lineare). Ma le ticklabel stesse non condividono proprietà. Questa è una caratteristica e non un bug, perché potresti voler ridurre le etichette delle tacche sugli assi superiori, ad esempio nell'esempio seguente.

Se vuoi disattivare le ticklabel per un dato Axes (ad esempio, su subplot(211) o subplot(212), non puoi fare il trucco standard:

setp(ax2, xticklabels=[])

perché questo cambia il tick Formatter, che è condiviso tra tutti gli assi. Ma puoi modificare la visibilità delle etichette, che è una proprietà:

setp(ax2.get_xticklabels(), visible=False)
demo dell'asse condiviso
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()

Galleria generata da Sphinx-Gallery