WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Linie transparent plotten

 

PeterBaeuerle
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 07.09.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2007, 14:48     Titel: Linie transparent plotten
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 07.09.2007, 18:49     Titel:
  Antworten mit Zitat      
Hallo 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:

Code:

plot(x,y2,'k.')
hold on
plot(x,sin(x),'ro')
 

_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.09.2007, 20:33     Titel:
  Antworten mit Zitat      
Schau mal nach der Eigenschaft "EraseMode" von den jeweiligen Plots.
Setze diese auf "xor". Das sollte Dir weiterhelfen.

MfG
 
RTS-JO
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 15.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2014, 20:03     Titel: Stehe vor dem selben Problem wie der Autor!
  Antworten mit Zitat      
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. Rolling Eyes

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.

MFG und Danke im vorraus...
Private Nachricht senden Benutzer-Profile anzeigen
 
Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 06.02.2014, 08:48     Titel:
  Antworten mit Zitat      
Hi,

Habe grade leider kein Matlab, aber das klingt docht ziemlich nach einer passenden Lösung des Problems.

http://www.mathworks.com/matlabcentral/answers/103074

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
RTS-JO
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 15.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2014, 10:05     Titel:
  Antworten mit Zitat      
Hallo,

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:

Code:
% Beispiel
clc;

x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);

figure(1)
plot(x, y2, 'r', 'linewidth', 2)
hold on
patchline(x, y1, 'edgecolor', 'r', 'linewidth', 2, 'edgealpha', 0.3)
grid on
xlabel('X')
ylabel('Y')
h = legend('Sinus', 'Cosinus');
set(h,'FontSize', 10, 'Location', 'SouthWest')


example_transp.jpg
 Beschreibung:

Download
 Dateiname:  example_transp.jpg
 Dateigröße:  40.06 KB
 Heruntergeladen:  895 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.