Ein Buch, das ich lese, enthält das folgende Diagramm.MATLAB: Füllen des Bereichs zwischen mehreren Zeilen
Ich suche so nah wie möglich das folgende Diagramm in MATLAB zu replizieren. Ich schaffte es die Linien neu zu erstellen, aber Probleme habe in den Farben zu füllen.
possible_colours = {'r','g','b','c','m','y','w','k','r'};
H = [0.01:0.01:0.99];
colour_counter = 0;
for ii = -0.8:0.2:0.8
colour_counter = colour_counter + 1;
colour_now = possible_colours{colour_counter};
ORSS = ones(1,size(H,2))*ii;
F = (H .* (1-ORSS)) ./ ((1-2.*H) .* ORSS + 1);
hold on
plot(F,H)
fill(F,H,colour_now);
end
Mit fill(F,H,colour_now)
der Code herausgenommen perfekt die erforderlichen Linien nachbildet. Die Füllung ist jedoch nicht korrekt.
Diese heavily upvoted answer von @Doresoom scheint relevant, aber es ist ein bisschen anders, weil in diesem Beispiel die x-Werte konstant gehalten werden, während in meinem Fall sind es die y-Werte, die konstant gehalten werden. Auch in diesem Fall gibt es nur ein Paar Linien, während ich viele davon habe.
Das brillant funktioniert! Weißt du, ob es eine einfache Möglichkeit gibt, die Abschnitte oben links und unten rechts auszufüllen, d. H. Die Abschnitte im Originaldiagramm in lila und dunkelblau? – user1205197
Ich habe die Frage bearbeitet. Es sollte jetzt den Job machen – shamalaia