Maison > développement back-end > Tutoriel Python > Comment créer un axe X discontinu dans Matplotlib ?

Comment créer un axe X discontinu dans Matplotlib ?

DDD
Libérer: 2024-11-27 04:55:10
original
583 Les gens l'ont consulté

How to Create a Discontinuous X-axis in Matplotlib?

Création d'un axe discontinu dans Matplotlib

Dans Matplotlib, il est possible de modifier l'apparence de l'axe des x pour indiquer une discontinuité entre deux plages de valeurs.

Personnalisation de l'axe

Bien qu'il n'existe aucun moyen direct de créer un axe discontinu, vous pouvez obtenez un effet similaire en personnalisant les étiquettes et l’apparence des axes. Une approche consiste à utiliser une transformation personnalisée pour créer un axe discontinu.

Sous-tracés

Si vous préférez ne pas créer de transformation personnalisée, vous pouvez utiliser des sous-tracés pour obtenir l'effet souhaité. En créant deux sous-tracés avec des limites d'axe x différentes et en masquant les épines entre eux, vous pouvez simuler un axe discontinu.

Exemple

import matplotlib.pyplot as plt
import numpy as np

x = np.r_[0:1:0.1, 9:10:0.1]
y = np.sin(x)

fig, (ax, ax2) = plt.subplots(1, 2, sharey=True)

ax.plot(x, y, 'bo')
ax2.plot(x, y, 'bo')

ax.set_xlim(0, 1) 
ax2.set_xlim(9, 10) 

ax.spines['right'].set_visible(False)
ax2.spines['left'].set_visible(False)
ax.yaxis.tick_left()
ax2.yaxis.tick_right()

plt.subplots_adjust(wspace=0.15)

plt.show()
Copier après la connexion

Ce code crée un tracé avec deux sous-tracés, chacun montrant une plage différente de valeurs x. Le chevauchement entre les sous-traces est masqué pour créer l'apparence d'un axe discontinu.

Effet de rupture

Pour ajouter l'effet de lignes d'axe brisées (//), vous pouvez utiliser le code suivant :

ax.plot((1-d,1+d),(-d,+d), **kwargs) # top-left diagonal
ax.plot((1-d,1+d),(1-d,1+d), **kwargs) # bottom-left diagonal

kwargs.update(transform=ax2.transAxes) # switch to the bottom axes
ax2.plot((-d,d),(-d,+d), **kwargs) # top-right diagonal
ax2.plot((-d,d),(1-d,1+d), **kwargs) # bottom-right diagonal
Copier après la connexion

où d représente la taille des lignes diagonales en coordonnées d'axes. Ce code ajoute des lignes diagonales aux coins de chaque axe, donnant l'impression d'un axe cassé.

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!

source:php.cn
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