Sie müssen ein zweites Konturdiagramm erstellen, um die gewünschten Konturpegel zu markieren. The MathWorks hat an example of this in der Dokumentation.
Für Ihren Fall werden wir so etwas wie die folgenden haben:
% Generate sample data
x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
values = -10:0.5:10;
% Generate initial contour plot
figure
[C,hh] = contour(X, Y, Z, values,'r', 'LineWidth',1);
clabel(C, hh, values, 'fontsize',7)
% Generate second contour plot with desired contour level highlighted
hold on
contour(X, Y, Z, [0 0], 'b', 'LineWidth', 2);
hold off
Welche gibt die folgende:
Nicht, dass ich die einzige Kontur Ebene als Vektor angegeben haben . Dies wird durch the documentation for contour
erläutert:
contour(Z,v)
zeichnet ein Konturdiagramm der Matrix Z
mit Konturlinien an den Datenwerten in den monoton steigenden Vektor spezifiziert v
. Um eine einzelne Konturlinie bei einem bestimmten Wert anzuzeigen, definieren Sie v
als Vektor mit zwei Elementen, wobei beide Elemente der gewünschten Konturebene entsprechen. Zum Beispiel Konturlinien auf der Ebene k
verwenden contour(Z,[k k]
)
zu zeichnen Wenn Sie mehrere Ebenen markieren wollen, dann gilt dies nicht (zB contour(X, Y, Z, [-1 0], 'b', 'LineWidth', 2)
hervorzuheben -1
und 0
)
Du musst machen ein sekundäres 'Kontur'-Diagramm. Siehe: [Highlight Specific Contour Levels] (https://www.mathworks.com/examples/matlab/mw/graphics-ex63999328-highlight-specific-contour-levels) – excaza
Vielen Dank. Es klappt – User1961