2016-11-07 1 views
0

Meine erste Kontur ist:Farbe des ersten conour geändert wurde nach der zweiten Kontur Plotten

figure 
x = -2:0.2:2; 
y = -2:0.2:3; 
[X,Y] = meshgrid(x,y); 
Z = X.*exp(-X.^2-Y.^2); 
contour(X,Y,Z,'LineWidth', 2) 

enter image description here

i dann die zweite Konturdiagramm:

hold on 
x = -2:0.2:2; 
y = -2:0.2:3; 
[X,Y] = meshgrid(x,y); 
Z = exp(-X.^2-Y.^2); 
contour(X,Y,Z,'LineWidth', 2) 

enter image description here

als gesehen werden, wurde die Farbe der ersten Kontur geändert. Wie kann ich die ersten Konturfarben pflegen?

+0

Die Farben werden bestimmt, indem der Bereich von Z auf die Farbkarte abgebildet wird. Der erste Ausdruck 'max (Z)' ist kleiner als 'max (Z)' des zweiten Plots und daher hat sich das Mapping geändert. Wenn Sie die zweite vor der ersten zeichnen, behält sie die gleichen Farben bei. – Shai

+0

@Shai Vielen Dank für Ihre Antwort, aber Ihre Lösung löst mein Problem nicht, weil die erwähnten Codes ein kleines Beispiel sind und ich in meinem Hauptcode nicht weiß, welche Kontur die erste sein muss. Ich möchte die Farbe der ersten Kontur unter allen Bedingungen beibehalten. –

Antwort

1

Die Farben der Konturen ändern sich, weil Matlab automatisch die Farbzuordnung entsprechend den Werten von Z ändert. Um das Mapping zu beheben, können Sie caxis manual verwenden, um den Standardwert caxis auto zu überschreiben.

Verwandte Themen