Partage d'une barre de couleurs pour plusieurs sous-parcelles dans Matplotlib
Lors de la création de plusieurs sous-parcelles dans Matplotlib, il peut être souhaitable d'afficher une barre de couleurs commune pour tous les parcelles, garantissant une palette de couleurs et un référencement cohérents. Cela peut être particulièrement utile lors de la comparaison des valeurs et des modèles entre différentes sous-parcelles.
Le dilemme
Un problème courant lors du partage d'une barre de couleurs est l'autocorrélation des barres de couleurs individuelles, chacune redimensionner pour accueillir à la fois le tracé et la barre de couleurs dans la zone de délimitation du sous-tracé. Cela peut entraîner des sous-traces de taille inégale qui semblent incohérentes.
Solution : séparer la barre de couleurs
La solution à ce problème consiste à créer un axe distinct dédié à la barre de couleurs. Cet axe est ensuite utilisé pour afficher la barre de couleurs indépendamment des tracés, donnant ainsi plus de contrôle sur sa taille et sa position.
Pour mettre en œuvre cette approche, suivez ces étapes :
Voici un exemple de code qui démontre le approche :
import numpy as np import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=2, ncols=2) for ax in axes.flat: im = ax.imshow(np.random.random((10,10)), vmin=0, vmax=1) fig.subplots_adjust(right=0.8) cbar_ax = fig.add_axes([0.85, 0.15, 0.05, 0.7]) fig.colorbar(im, cax=cbar_ax) plt.show()
Ce code crée quatre sous-tracés et place une seule barre de couleurs à droite des sous-tracés, comme indiqué dans l'image ci-jointe. La barre de couleurs partage la palette de couleurs avec les sous-parcelles, et sa taille et sa position sont indépendantes des sous-parcelles.
En suivant ces étapes, il est possible de partager efficacement une seule barre de couleurs sur plusieurs sous-parcelles, garantissant ainsi la cohérence et améliorant la présentation des données.
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!