J'essaie d'avoir trois sous-trames pseudocolor côte à côte, avec une barre de couleurs pour les sous-placettes # 1 et # 2 et une deuxième barre de couleurs pour # 3. J'aimerais aussi que les limites de couleur (clim) soient définies de la même manière pour les deux premières (donc la première barre de couleurs refléterait les valeurs des deux sous-placettes # 1 et # 2).Comment ajouter une barre de couleurs commune aux sous-trames dans Matplotlib et modifier leurs limites ensemble
Voici ce que j'ai jusqu'à présent:
import numpy as np
import matplotlib.pyplot as plt
plt.ion()
import matplotlib as mpl
data1 = np.random.random((10,10))
data2 = 2.*np.random.random((10,10))
data3 = 3.*np.random.random((10,10))
f, (ax1, ax2, ax3) = plt.subplots(1, 3, sharey=True)
imgplot1 = ax1.pcolormesh(data1, edgecolors='None')
imgplot2 = ax2.pcolormesh(data2, edgecolors='None')
plt.subplots_adjust(hspace=0.1, wspace=0.1)
cax2, kw = mpl.colorbar.make_axes([ax1, ax2])
plt.colorbar(imgplot2, cax=cax2, **kw)
imgplot2.set_clim(0,20)
imgplot3 = ax3.pcolormesh(data3, edgecolors='None')
cax3, kw = mpl.colorbar.make_axes([ax3])
plt.colorbar(imgplot3, cax=cax3, **kw)
imgplot2.set_clim(0,20)
ensembles intrigue secondaire # 2 (bien que je l'ai vu une question dépendant du backend où il ne met pas à jour toujours à moins que vous interagissez avec l'intrigue), mais est Y at-il un moyen de lier les limites de couleur de deux sous-tracés de sorte qu'une barre de couleurs puisse décrire les deux tracés? Mise à jour: Pour clarifier, je suis à la recherche de la possibilité de réajuster clim après que les parcelles ont déjà été créées.
Vous décrivez comment définir chaque limite de la barre de couleurs indépendamment. Je me demande s'il existe un moyen de lier les deux limites de couleurs pour les deux graphiques, ou si vous devez ajuster manuellement les limites de couleur pour les deux à chaque fois que vous en changez une. – user1704042
@ user1704042 une sorte d'option 'sharez' similaire à' sharex', vous voulez dire? Je n'ai pas compris cela de votre question. À ma connaissance, cela n'existe pas (encore). Écrire un gestionnaire d'événement pour mettre à jour le 'clim' des axes partagés serait une approche, mais pourquoi ne pas simplement remplacer votre appel unique' imgplot2.set_clim' par un appel à une fonction qui fait la même chose? Le résultat final est le même, peu importe s'il est implémenté dans la fonctionnalité mpl de base ou dans le code d'utilisateur final. J'espère que cela aide, les gens oublient souvent les solutions faciles à un problème. –