Vorrei confrontare due diversi set di dati sulla stessa trama di presentazione per rendere più semplice la visualizzazione delle differenze. Il mio primo istinto è quello di rendere i colori nella mappa colore trasparente (i valori più bassi in particolare), ma non sono stato in grado di ottenere questo lavoro:Sovrapposizione di diagrammi implog in 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()
non ci sono errori, ma il bianco e il nero della il secondo grafico non mostra alcuna trasparenza. Ho anche provato il metodo colorConverter per impostare il colore in una normale situazione plt.plot e anche il colore non diventava trasparente anche se veniva visualizzato il colore corretto.
Qualsiasi ulteriori consigli su come sovrapporre/confrontare imshow trame sarebbe molto apprezzato
Perché non tracciare la sottrazione dei due insiemi di dati di immagine? O la sottrazione di una trasformazione rilevante, come convertirli in una scala di decibel. – ely
Finora non ho ottenuto ottimi risultati con questo metodo, ma continuo a provare mentre spero che qualcuno sappia come far funzionare la trasparenza dei singoli colori – Anake