


Comment créer des axes X discontinus dans Matplotlib à l'aide de sous-parcelles ?
Dec 18, 2024 am 01:45 AMAxes discontinus dans Matplotlib
La création d'un axe X discontinu dans Matplotlib peut améliorer la visibilité des lacunes importantes dans les données. Bien qu'une transformation personnalisée soit une approche efficace, l'utilisation de sous-tracés peut facilement obtenir la discontinuité souhaitée.
Une méthode consiste à utiliser deux sous-tracés, partageant l'alignement de l'axe Y. Zoomez sur différentes parties des données et ajustez les limites de l'axe X pour vous concentrer sur des sections spécifiques. En masquant les épines entre les sous-parcelles et en ajustant l'orientation des graduations, vous pouvez créer la discontinuité.
Pour un effet d'axe brisé plus frappant visuellement, des lignes diagonales peuvent être ajoutées. Spécifiez la taille de la diagonale souhaitée en coordonnées d'axes. Désactivez le découpage et définissez la transformation appropriée pour chaque ligne diagonale afin de vous assurer qu'elle se situe dans le coin correct des axes. En utilisant cette méthode, les lignes diagonales s'ajusteront dynamiquement à mesure que l'espace entre les sous-intrigues change.
Voici un exemple de code qui intègre ces techniques :
import matplotlib.pyplot as plt import numpy as np # Generate sample data x = np.r_[0:1:0.1, 9:10:0.1] y = np.sin(x) # Create subplots and set x-axis limits fig, (ax, ax2) = plt.subplots(1, 2, sharey=True) ax.set_xlim(0, 1) ax2.set_xlim(9, 10) # Plot data and hide spines ax.plot(x, y, 'bo') ax2.plot(x, y, 'bo') ax.spines['right'].set_visible(False) ax2.spines['left'].set_visible(False) ax.yaxis.tick_left() ax.tick_params(labeltop='off') ax2.yaxis.tick_right() # Adjust spacing and add diagonal lines plt.subplots_adjust(wspace=0.15) # Define diagonal line parameters d = .015 kwargs = dict(transform=ax.transAxes, color='k', clip_on=False) ax.plot((1 - d, 1 + d), (-d, +d), **kwargs) ax.plot((1 - d, 1 + d), (1 - d, 1 + d), **kwargs) kwargs.update(transform=ax2.transAxes) ax2.plot((-d, d), (-d, +d), **kwargs) ax2.plot((-d, d), (1 - d, 1 + d), **kwargs) plt.show()
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment télécharger des fichiers dans Python

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Intro au ballon: ajout d'une page de contact

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?
