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

String für Legende bauen

 

DieselPower
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 09.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2013, 08:54     Titel: String für Legende bauen
  Antworten mit Zitat      
Hallo,

das Standardformat einer Legende ist ja

Code:


Da ich nun bis zu 5 plots habe, die geplottet werden oder auch nicht -manchmal werden z.b. nur a, d und e geplottet- nimmt er bei dieser Standardkonstruktion natürlich dennoch a, b und c als Beschriftung.

Nun habe ich das verändert zu

Code:


und baue mir mit Erzeugung meiner datenreihen den string aus mit z.b.
Code:

.....
string = '''a''';
.....
string=strcat(string,',''c''');
......
 


Beim plotten der Legende bezeichnet er mir nun dennoch einfach nur die erste Datenreihe in diesem Fall mit " 'a','c' " und nicht wie ich es gehofft hatte die erste mit "a" und die zweite mit "c".

Kennt jemand eine Lösung dafür?

Vielen Dank!

MfG,
Diesel
Private Nachricht senden Benutzer-Profile anzeigen


Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 22.10.2013, 09:29     Titel:
  Antworten mit Zitat      
Hallo Diesel, ich schreibe mir meine Legendeneinträge immer in einen Cell Array mit den jeweiligen Strings.
Evtl. brauchst du auch den handle von deinen Plot.
Code:

CellString={'EintragA','EintragB','...'}
h=plot(...)
legend(h,CellString)
 


Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 22.10.2013, 11:03     Titel: Re: String für Legende bauen
  Antworten mit Zitat      
Hallo DieselPower,

Du möchtest also eine Komma-separierte Liste übergeben. Etwas wie 'a,b,c' ist aber ein String, also eine einzige Variable.
Der bereits von kascho vorgeschlagene Cell-String ist genau die richtige Lösung dafür:
Code:
List = {'a', 'b', 'c'}
disp(List{:})   % Mal zur Anzeige, was das bedeutet
legend(List{:})
% Ist dann das gleiche wie:
$ legend('a', 'b', 'c')

Aber Kaschos Vorschlag ist noch effizienter: Wie in der Dokumentation des Befehls erklärt wird (das Lesen kann man wie immer nur wärmstens empfehlen), nimmt LEGEND auch direkt einen Cell String entgegen:
Code:

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
DieselPower
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 09.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2013, 11:34     Titel:
  Antworten mit Zitat      
hallo ihr zwei,

und danke für die nette Hilfe!

haben nun mal ein wenig damit rumgespielt und den Eindruck gewonnen, dass ich damit auf dem richtigen Trichter bin.

Mein Problem dabei ist, dass ich die Liste nicht auf einmal erzeuge, sondern nach und nach, sobald meine Datenreihen erzeugt werden die Liste gerne ergänzen würde.

der erste Schritt funktioniert wunderbar:

Code:

string={'a'}
 


gibt mir aus string = 'a'

nun würde ich gerne zum Beispiel nachträglich die Datenreihe "c" mit in die Liste aufnehmen sodass die Rückgabe lautet.

string = 'a' 'c'

habe es so versucht:

Code:

string={'a'};
....
string= strcat(string,{'c'});
 


was allerdings string = 'ac' zurückgibt.

Das ist sicher ein sehr triviales problem Smile Kennt ihr die Lösung?

Danke!

MfG,
Diesel
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 22.10.2013, 11:37     Titel:
  Antworten mit Zitat      
Hi nochmal,

Code:
string{end+1}='blablub';


Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
DieselPower
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 09.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2013, 11:43     Titel:
  Antworten mit Zitat      
Hallo Kaschko,

you just made my day Smile

Danke euch beiden! Es funktioniert!

MfG,
Diesel
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.