Dans matplotlib, les sous-intrigues créées indépendamment ont des axes x et y séparés. Pour partager des axes entre des sous-parcelles, il est généralement recommandé de spécifier la propriété partagée lors de la création de la sous-parcelle.
Cependant, cet article aborde le scénario spécifique de partage des axes x une fois que les sous-parcelles ont déjà été créées. Cela peut survenir lors de l'utilisation de bibliothèques qui génèrent des sous-intrigues préexistantes.
Pour lier les axes x de deux sous-intrigues après leur création, utilisez la méthode sharex(ax) :
<code class="python">ax2.sharex(ax1)</code>
où ax1 est la sous-intrigue avec l'axe x souhaité, et ax2 est la sous-intrigue pour laquelle vous souhaitez partager l'axe x.
Après avoir partagé les axes x, vous devez désactiver les étiquettes de coche x sur l'une des sous-parcelles pour éviter la duplication.
<code class="python">ax1.set_xticklabels([]) # Disable x tick labels for ax1</code>
En fonction des besoins, vous souhaiterez peut-être utilisez la méthode autoscale() sur le deuxième sous-tracé (ax2) pour ajuster sa mise à l'échelle sur l'axe y.
Considérez le code suivant qui crée deux sous-tracés puis partage leurs axes x post- création :
<code class="python">import numpy as np import matplotlib.pyplot as plt t = np.arange(1000) / 100 x = np.sin(2 * np.pi * 10 * t) y = np.cos(2 * np.pi * 10 * t) fig = plt.figure() ax1 = plt.subplot(211) ax1.plot(t, x) ax2 = plt.subplot(212) ax2.plot(t, y) ax2.sharex(ax1) ax1.set_xticklabels([]) # ax2.autoscale() # Uncomment for autoscaling plt.show()</code>
Ce code génère deux sous-intrigues, chacune avec son propre axe y mais partageant le même axe x. Les étiquettes de ticks x sont désactivées sur le premier sous-tracé pour éviter la duplication. Et, si nécessaire, la mise à l'échelle automatique peut être appliquée au deuxième sous-tracé pour l'ajustement de l'axe y.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!