Ich habe einen Matlab-Plot, der so aussieht:
Wo die Y-Werte für jedes der Teilplots in eindimensionalen Arrays gespeichert werden. Was ich tun möchte ist, einen Bereich zu finden, wo der obere Graph über einer bestimmten Höhe ist, sagen wir 0.5. Ich möchte auch den gleichen Bereich in den anderen Graphen hervorheben.
Hier ist ein Beispiel von dem, worüber ich spreche:
Das Beste, was ich bis jetzt finden konnte, ist die Funktion area
, die einen Bereich im Matlab-Grid füllt. Wenn jedoch jemand mir sagen könnte, wie man es transparent macht und auch, wie man mehrere Bereiche füllt, ohne viele Gebietsbefehle zu machen, wäre das großartig.
Ansonsten kann ich eine Gruppe von Bereichen in einer Struktur identifizieren und sie mit einer for-Schleife plotten. Hier ist ein Pseudo-Code, wie ich es machen würde:
%Vor%Dann, um die Bereiche zu plotten, würde ich das tun:
%Vor%und ich würde das für jeden der Subplots tun. Offensichtlich ist dies ziemlich kompliziert, so dass es besser wäre, einen einzigen Liner zu haben. Kann jemand an einen denken?
Ich habe es herausgefunden. Der Pseudo-Code, den ich zur Verfügung gestellt habe, bekommt die richtigen Regionen. Sie können dies tun:
%Vor% alpha
legt die Transparenz in den meisten Flächendiagrammen fest. Dies führt in Kombination mit dem Code in der Frage dazu:
Das ist ziemlich cool, um in Matlab zu plotten.