Verfasst am: 07.09.2007, 14:48
Titel: Linie transparent plotten
Hallo,
für Graphikobjekte gibt es die Möglichkeit, diese transparent zu machen und so übereinander zu plotten (Stichwort Alpha-Wert ändern, FAceColor). Ich habe nun aber kein Histogram oder ähnliches, sondern zwei normale Linienplots. Als Beispiel:
Code:
x = -20*pi:0.5:20*pi;
y = -80*pi:2:80*pi;
y2=cos(y)*0.9;
plot(x,y2,'color','b') hold on
plot(x,sin(x),'color','k')
Da meine Originalplots sehr eng beieinander liegen, wird der eine vom anderen in grossen Bereichen verdeckt. Gibt es eine Möglichkeit in dem oberen Beispiel die plot von y2 transparent zu gestalten, so dass dahinter noch der x-plot durchscheint? Hat jemand eine Idee für die Lösung des Problems?
Ich freue mich auf eure Anregungen...
Gruss,
Peter
bei der Verwendung von Face-Color kann ich dir nicht weiterhelfen. Ich behelfe mich immer mit einem Trick: Eine Linie mit Punkten und die andere mit Kringeln...ungefähr so:
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 09.09.2007, 20:33
Titel:
Schau mal nach der Eigenschaft "EraseMode" von den jeweiligen Plots.
Setze diese auf "xor". Das sollte Dir weiterhelfen.
Verfasst am: 05.02.2014, 20:03
Titel: Stehe vor dem selben Problem wie der Autor!
Hallo,
auch wenn dieser Beitrag schon ein wenig älter ist, werde ich Ihn nochmal wiederbeleben. Ich stehe gerade vor dem gleichen Problem wie der Autor im Jahre 2007.
Ich möchte 4 Kurven plotten! Zwei davon haben die gleiche Farbe (sagen wir rot) und zwei sind blau. Die roten und die blauen Kurven (Funktionen) liegen jeweils nahe beieinander, sind im Kurvenverlauf aber fast identisch. Nun soll eine der roten und eine der blauen Kurven transparent dargestellt werden und die anderen beiden eben ganz normal.
Der Vorschlag mit der Eigenschaft "EraseMode" den mein Vorredner gemacht hat funktioniert bei meinem Problem leider überhaupt nicht und bringt mich auch nicht weiter.
Im Forum bin ich schon auf einiges zum Thema "Transparenz" und "Matlab" gestoßen (Stichwort: "alpha"), jedoch dreht es sich dabei oft um 3D-Grafiken oder Bilder. Ich wiederum möchte jedoch nur in einem einfachen 2D-Plot zwei von vier Kurven (Funktionen) transparent machen.
Es ist ziemlich wichtig und ich hoffe jemand von euch kann mir weiterhelfen.
vielen Dank schon mal für die schnelle Antwort. Genau auf das bin ich auch schon gestoßen! Dies funktioniert auch soweit ganz gut, nur entsteht bei Verwendung von "patchline" ein neues Problem.
Ich möchte alle vier Funktionen in einer Legende benennen. Bei den nicht transparenten Kurven funktioniert dies auch wie immer! Bei den transparenten leider nicht!
Vor dem Namen der Funktion in der Legende ist dann nicht die transparente Linie zu sehen, sondern ein schwarzer unproportional großer schwarzer Kasten mit entsprechender 100%iger (also nicht der transparenten) Kurvenfarbe um diesen besagten schwarzen Kasten!?!? Auch fehlen Teile der Box von der Legende.
Ist schwer zu beschreiben...Hier mal ein Beispiel:
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.