Maison  >  Article  >  développement back-end  >  Comment puis-je partager les axes X des sous-parcelles Matplotlib après leur création ?

Comment puis-je partager les axes X des sous-parcelles Matplotlib après leur création ?

DDD
DDDoriginal
2024-10-25 00:47:02327parcourir

How Can I Share X Axes of Matplotlib Subplots After Their Creation?

Partage des axes X des sous-intrigues après la création

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.

Partage d'axe post-création

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.

Gestion des étiquettes de coche 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>

Considération de mise à l'échelle automatique

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.

Exemple

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn