Maison > développement back-end > Tutoriel Python > Comment partager une seule barre de couleurs sur plusieurs sous-parcelles Matplotlib ?

Comment partager une seule barre de couleurs sur plusieurs sous-parcelles Matplotlib ?

Mary-Kate Olsen
Libérer: 2024-12-11 21:00:24
original
126 Les gens l'ont consulté

How to Share a Single Colorbar Across Multiple Matplotlib Subplots?

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 :

  1. Utilisez le subplots_adjust fonction pour faire de la place à la barre de couleurs dans la figure globale. Cela se fait en spécifiant le côté droit de la figure comme une fraction de la largeur de la figure, généralement légèrement inférieure à 1,0 pour laisser une certaine marge.
  2. Créez un axe de sous-tracé séparé pour la barre de couleurs à l'aide de add_axes. Cette sous-intrigue doit être positionnée à droite des axes principaux.
  3. Utilisez la fonction colorbar pour créer la barre de couleurs dans l'axe séparé, en spécifiant l'axe concerné dans le paramètre cax.
  4. Masquer l'axe ligne et graduations sur le sous-tracé de la barre de couleurs pour donner l'apparence d'une barre de couleurs autonome.

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

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!

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