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

Legende erzeugen für Plots mit verschiedener Vektorlänge

 

Matlab_User85
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 03.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2015, 09:56     Titel: Legende erzeugen für Plots mit verschiedener Vektorlänge
  Antworten mit Zitat      
Hallo zusammen,

ich zeichne Grafiken mit dem Plot-Befehl nach bekannten Muster:

Code:

hold on;
 plot(Strom_1,'r');
 plot(Strom_2,'r');

 plot(Strom_3,'g');
 plot(Strom_4,'g');
hold off;
 


Jeder Stromverlauf ist dabei verschieden lang (Komponentenzahl des jeweiligen Vektors).

Funktioniert auch alles soweit.

Nun möchte ich mir zum Verbessern der Übersichtlichkeit eine Legende erzeugen. Weil ich noch keine Angaben im Code dazu gemacht habe, wird von Matlab immer Standardgemäß:

Code:

data1
data2
data3
data4
 


ausgegeben.

Dies möchte ich nun abändern.

Wie kann ich dies mit Matlab durchführen?

Habe es grundsätzlich mit dem Legend-Befehl versucht. Weil sich jedoch die Art des Plots ständig ändert, wäre es toll, wenn ich das irgendwie wie die Linienfarbe direkt im plot-Befehl mit eintragen könnte, sodass bei einem Auskommentieren keine weiteren Probleme entstehen.

Wäre echt super wenn ihr mir da helfen könntet.
Private Nachricht senden Benutzer-Profile anzeigen


Amateur12345
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 29.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2015, 10:08     Titel:
  Antworten mit Zitat      
Servus,

versuch es mal hiermit:

Code:

legend('Strom1','Strom2','Strom3','Strom4');

 


Gruß
_________________

Grüße Amateur
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_User85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 03.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2015, 11:55     Titel:
  Antworten mit Zitat      
Amateur12345 hat Folgendes geschrieben:
Servus,

versuch es mal hiermit:

Code:

legend('Strom1','Strom2','Strom3','Strom4');

 


Gruß


hi,

genau das ist das Problem.
Dort gebe ich für Legend immer eine feste Reihenfolge und Zugehörigkeit an.

Wenn ich oft Vektoren "auskommentiere" muss ich auch die legend-Zeile analog anpassen.
Da können leicht Fehler passieren, vor allem wenn 10 Vektoren und mehr auf einmal geplottet werden Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 05.02.2015, 12:14     Titel:
  Antworten mit Zitat      
hallo.
du versteckst einen index im variablen namen. das ist sehr schlecht und erschwert das arbeiten ungemein. einfacher ist es einen index als index zu verwenden
Code:
Strom=randi(10,100,4);
legdata={'Strom1','Strom2','Strom3','Strom4'};
hold on;

 plot(Strom(:,1),'r','DisplayName',legdata{1});
 plot(Strom(:,2),'r','DisplayName',legdata{2});

 plot(Strom(:,3),'g','DisplayName',legdata{3});
 plot(Strom(:,4),'g','DisplayName',legdata{4});
hold off;
legend show

das ganze würde sich mit einer schleife noch kürzer und dynamischer gestalten lassen.
_________________

richtig Fragen
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.