Ich würde gerne zwei verschiedene Datensätze auf dem gleichen IMshow-Plot vergleichen, um die Unterschiede zu verdeutlichen. Mein erster Instinkt ist, um die Farben in der colormap transparent (die niedrigeren Werte vor allem) zu machen, aber ich habe nicht in der Lage gewesen, um diese Arbeit zu bekommen:Overlay imshl plots 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()
Es gibt keine Fehler, aber die weiß und schwarz von der zweite Handlung zeigt keine Transparenz. Ich habe auch die colorConverter-Methode ausprobiert, um die Farbe in einer normalen plt.plot-Situation einzustellen, und die Farbe wurde auch nicht transparent, obwohl die richtige Farbe angezeigt wurde.
Jede weitere Ratschläge, wie Plots überlagern/vergleichen imshow viel
Warum Sie die Subtraktion der beiden Bilddatensätze nicht zeichnen? Oder die Subtraktion einer relevanten Transformation, etwa die Umwandlung in eine Dezibel-Skala. – ely
Bisher habe ich mit dieser Methode keine sehr guten Ergebnisse erzielt, aber ich versuche es weiterhin, während ich hoffe, dass jemand weiß, wie man die individuelle Farbtransparenz zur Arbeit bringt – Anake