Question

Je trace plusieurs courbes de niveau côte à côte pour visualiser l'évolution temporelle de certaines fonctions. Je souhaite que la valeur et la couleur de chaque contour soient partagées entre toutes les sous-parcelles, mais chaque fois que j'ajoute une nouvelle sous-parcelle, les valeurs de contour sont recalculées (comme indiqué dans l'image ci-dessous). Toute comparaison entre elles n'a donc pas de sens.

Parcelles de contour avec des barres de couleur http://www.inf.utfsm.cl/~rbonvall/colorbar-and-contour-plots.png

J'ai essayé de définir manuellement différentes combinaisons d'attributs cmap , colorbar et axes sur chaque instance de sous-parcelle, sans succès. Comment puis-je partager les attributs de tracé de contour entre toutes les sous-parcelles? En d’autres termes, comment obtenir la même barre de couleur pour toutes les sous-parcelles?

Était-ce utile?

La solution

Vous pouvez spécifier directement les valeurs de contour à utiliser dans le tracé du contour. Voici un exemple:

 alt text

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-1.2, 1.2, .025)
y = np.arange(-1.2, 1.2, .025)
X, Y = np.meshgrid(x, y)
Z = np.cos(X)*np.cos(Y)
Z = Z*Z

plt.subplot(1,2,1)
CS = plt.contour(X, Y, Z)   # set levels automatically
plt.clabel(CS, inline=1, fontsize=10)
plt.subplot(1,2,2)
CS = plt.contour(X, Y, Z-.1, CS.levels)  # set levels as previous levels
plt.clabel(CS, inline=1, fontsize=10)
plt.show()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top