Axes 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!