¿Cómo se controla la transparencia sobre una imagen 2D en pylab? Me gustaría dar dos conjuntos de valores (X,Y,Z,T)
donde X,Y
son matrices de posiciones, Z
es el valor de color y T
es la transparencia de una función como imshow
pero parece que la función solo toma alfa como un escalar. Como ejemplo concreto, considere el siguiente código que intenta mostrar dos gaussianos. Cuanto más cerca esté el valor de cero, más transparente me gustaría que fuera la trama.Mezcla alfa variable en pylab
from pylab import *
side = linspace(-1,1,100)
X,Y = meshgrid(side,side)
extent = (-1,1,-1,1)
Z1 = exp(-((X+.5)**2+Y**2))
Z2 = exp(-((X-.5)**2+(Y+.2)**2))
imshow(Z1, cmap=cm.hsv, alpha=.6, extent=extent)
imshow(Z2, cmap=cm.hsv, alpha=.6, extent=extent)
show()
Nota: Yo no busco a una parcela de Z1 + Z2 (que sería trivial) pero para un modo general para especificar la mezcla alfa a través de una imagen.
¡Esto es genial y exactamente lo que estaba buscando! Mirando más adentro veo que 'imshow' puede tomar un' MxNx4' es decir. una matriz Z con el mapa de colores predefinido por el usuario. ¡Gracias! – Hooked