Domanda

Sto tracciando diversi grafici di contorno fianco a fianco per visualizzare l'evoluzione temporale di una determinata funzione. Voglio che il valore e il colore di ogni contorno siano condivisi tra tutte le sottotrame, ma ogni volta che aggiungo una nuova sottotrama, i valori del contorno vengono ricalcolati (come mostrato nell'immagine seguente), quindi qualsiasi confronto tra loro è privo di significato.

con barre dei colori http://www.inf.utfsm.cl/~rbonvall/colorbar-and-contour-plots.png

Ho provato a impostare manualmente diverse combinazioni di cmap , colorbar e assi su ogni istanza della sottotrama, senza successo. Come posso condividere gli attributi del diagramma di contorno tra tutte le sottotrame? In altre parole, come ottenere la stessa barra dei colori per tutte le sottotrame?

È stato utile?

Soluzione

È possibile specificare direttamente i valori di contorno da utilizzare nel diagramma di contorno. Ecco un esempio:

 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()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top