Me gustaría comparar dos conjuntos diferentes de datos en el mismo diagrama de imshow para que sea más fácil ver las diferencias. Mi primer instinto es hacer que los colores en el mapa de color transparente (los valores más bajos en especial), pero no he sido capaz de conseguir que esto funcione:Superposición de diagramas de imshow en matplotlib
from matplotlib.colors import colorConverter
import matplotlib.pyplot as plt
import numpy as np
# create dummy data
zvals = np.random.rand(100,100)*10-5
zvals2 = np.random.rand(100,100)*10-5
# generate the transparent colors
color1 = colorConverter.to_rgba('white',alpha=0.0)
color2 = colorConverter.to_rgba('black',alpha=0.8)
# make the colormaps
cmap1 = mpl.colors.LinearSegmentedColormap.from_list('my_cmap',['green','blue'],256)
cmap2 = mpl.colors.LinearSegmentedColormap.from_list('my_cmap2',[color1,color2],256)
img2 = plt.imshow(zvals,interpolation='nearest',cmap=cmap1,origin='lower')
img3 = plt.imshow(zvals2,interpolation='nearest',cmap=cmap2,origin='lower')
plt.show()
no hay ningún error, pero el blanco y negro de la segundo gráfico no muestra ninguna transparencia. También probé el método colorConverter para establecer el color en una situación plt.plot normal y el color tampoco se volvió transparente aunque se mostró el color correcto.
Cualquier consejo adicional sobre cómo superponer/comparar imshow parcelas sería apreciada mucho
¿Por qué no trazar la resta de los dos conjuntos de datos de imagen? O la resta de una transformación relevante, como convertirlos a una escala de decibelios. – ely
Hasta ahora no he obtenido muy buenos resultados con este método, pero sigo intentando mientras espero que alguien sepa cómo hacer que funcione la transparencia del color individual – Anake