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

Nur bestimmten Plot der Legende zuweisen

 

Henrik123
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 24.04.2017, 20:24     Titel: Nur bestimmten Plot der Legende zuweisen
  Antworten mit Zitat      
Hallo, ich habe eine Datei, in der zwei plots in einer for schleife laufen. Ich würde gerne nur einen Plot der Legende zu weisen.

Code:
colours1={'-k', '-r', '-g', '-b', '-c'};         %Farbe für Fit
colours2={'ok', 'or', 'og', 'ob', 'oc'};    %Farbe für Marker
for i = 1:5;
  for j = 1:10
     X(j,1) = j-1;
     Y(j,1) = (j-1)*i;
     x(j,1) = (rand - 0.5) + (j-1);
     y(j,1) = (rand - 0.5) + (j-1)*i;
  end
  hold on;
  plot(x,y,colours2{i}); %Marker für diskrete Werte
  plot(X,Y,colours1{i}); %Fitkurve ohne Marker nur Linien
  liste{i}=['Aktor ' num2str(i)];
  legend(liste);
end


Dieser Code funktioniert leider nicht. Das Problem ist wie folgt. Ich habe 10 Plots. Rein theoretisch zeigt die Legende zeigt mir Marker1, Linie1, Marker2, Linie2 ...... bis hin zum 1ten Eintrag.

Mit der Liste bekomme ich. Marker1 Aktor1, Linie1 Aktor2, Marker2 Aktor3, Linie2 Aktor4, Marker3 Aktor5.

Ich will ja nur 5 Einträge in der Legende zur entsprechenden Linie. Also: Linie1 Aktor1, Linie2 Aktor2, usw. Ich hoffe, das ist nachvollziebar.

Legende1.PNG
 Beschreibung:
So will ich es nicht.

Download
 Dateiname:  Legende1.PNG
 Dateigröße:  1.44 KB
 Heruntergeladen:  283 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.04.2017, 20:33     Titel:
  Antworten mit Zitat      
Hallo,

wenn du nur zu bestimmten Plots die Legende sehen möchtest und das nicht die ersten n sind, dann musst du das angeben.

Code:
colours1={'-k', '-r', '-g', '-b', '-c'};         %Farbe für Fit
colours2={'ok', 'or', 'og', 'ob', 'oc'};    %Farbe für Marker
for i = 1:5;
  for j = 1:10
     X(j,1) = j-1;
     Y(j,1) = (j-1)*i;
     x(j,1) = (rand - 0.5) + (j-1);
     y(j,1) = (rand - 0.5) + (j-1)*i;
  end
  hold on;
  plot(x,y,colours2{i}); %Marker für diskrete Werte
  p(i) = plot(X,Y,colours1{i}); %Fitkurve ohne Marker nur Linien
  liste{i}=['Aktor ' num2str(i)];
 
end
hold off
legend(p, liste);


Es ist unnötig, die Legende innerhalb der Schleife zu aktualisieren. Generell würde ich ein hold on immer mit einem hold off abschließen.

Grüße,
Harald

Edit: Code-Tags

Zuletzt bearbeitet von Harald am 24.04.2017, 20:43, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Henrik123
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 25.01.17
Wohnort: ---
Version: 2011a, 2017a
     Beitrag Verfasst am: 24.04.2017, 20:39     Titel:
  Antworten mit Zitat      
Besten Dank für die schnelle hilfe. Ich probiere das mal gleich aus.
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 - 2024 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.