Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-25 00:47:02
original
504 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal