Compartir atributos de trazado de contorno entre subtramas
-
08-07-2019 - |
Pregunta
Estoy trazando varios gráficos de contorno uno al lado del otro para visualizar la evolución temporal de ciertas funciones. Quiero que el valor y el color de cada contorno se compartan entre todas las subtramas, pero cada vez que agrego una nueva subtrama, los valores de contorno se vuelven a calcular (como se muestra en la imagen a continuación), por lo que cualquier comparación entre ellos no tiene sentido.
He intentado configurar manualmente diferentes combinaciones de cmap
, barra de colores
y ejes
en cada instancia de subtrama, sin éxito. ¿Cómo puedo compartir los atributos del diagrama de contorno entre todas las subtramas? En otras palabras, ¿cómo obtener la misma barra de colores para todas las subtramas?
Solución
Puede especificar directamente los valores de contorno que se utilizarán en el diagrama de contorno. Aquí hay un ejemplo:
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()