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

Farbprobleme mit legend

 

bensko
Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2013, 18:18     Titel: Farbprobleme mit legend
  Antworten mit Zitat      
Guten Abend zusammen,

ich hab derzeit das Problem, das bei mir unter Legend die falsche Farbe der Kurve angezeigt wird.

Code:

subplot(3,3,1);
plot(time,signal A,'r','linewidth',2);grid on;
title('\fontsize{12}Signal A');
xlabel('sec');
ylabel('kg/h');


subplot(3,3,2);
plot(time,Signal B,'b','linewidth',2); grid on;
title('\fontsize{12}Signal B');
xlabel('sec');
ylabel('kg/h');

subplot(3,3,3);
[Ax, H1, H2] = plotyy(time,Signal A,time,Aignal B);grid on;hold on;
set (H1,'linewidth',2,'Color','r');
set (H2,'linewidth',2,'Color','b','linestyle','--');
legend('Signal A','Signal B',2);
title('\fontsize{12}Vergleich zwischen Signal A und B');hold on;
text(200,750,['Average error = ',num2str(Average) ' %'],'FontSize',12,'EdgeColor','k','LineWidth',1,'BackgroundColor',[1 .8 0.8]);
 


Beim dritten Subplot wird die legende angezeigt, jedoch beide Striche mit Rot gekennzeichnet.

Vielen Dank
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, 18:33     Titel:
  Antworten mit Zitat      
Abend bensko,
hab grad nix zum testen. Aber du musst den Handle des Plots in den legend Befehl integrieren.
Weiß grad nicht genau ob die Syntax korrekt ist:

Code:
legend([H1,H2],'Signal1','Signal2');


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2013, 08:06     Titel:
  Antworten mit Zitat      
Vielen Dank für die schnelle Antwort Kascho!

Musste eine kleine änderung vornehmen damit es bei mir klappt. Eventuell liegt es an der Version oder so. Bei mir musste ein Semicolon anstatt ein comma hinzu.

Code:
legend([H1;H2],'Signal1','Signal2');


Arbeite übrigens mit Matlab R2010b

Jedoch werden beide immer noch Rot angezeigt

Vielen Dank und schöne Grüsse
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: 23.10.2013, 08:20     Titel:
  Antworten mit Zitat      
Ja, wie gesagt, konnte nicht testen und war mir bei der Syntax unsicher.

Hat es jetzt geklappt, oder nicht?
Private Nachricht senden Benutzer-Profile anzeigen
 
bensko
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2013, 08:28     Titel:
  Antworten mit Zitat      
Leider nicht. Beide striche werden immer noch rot angezeigt Sad

Habe aber gerade gesehen, dass Matlab mir folgendes ausgibt:

Warning: Ignoring extra legend entries.
> In legend at 294


Hab danach gesucht und gelesen, dass man hold all verwenden soll.
Das hab ich gemacht aber hat leider keine veränderung gemacht.

Hab das hold all ganz am Anfang eingefügt, wäre das so richtig?
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: 23.10.2013, 08:49     Titel:
  Antworten mit Zitat      
Habs grad nochmal ausprobiert.
Also anhand deines Codes aus dem ersten Post kann ich das Problem nicht reproduzieren.
Du plottest in jedem subplot nur einen Plot, deswegen ist gar kein hold on / hold all notwendig.
Bei mehreren Plots würde ein hold all automatisch Farben vergeben, das ist soweit korrekt.
Geh nochmal deinen Code durch und vergleiche diesen mit den hier geposteten.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 01.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.10.2013, 09:16     Titel:
  Antworten mit Zitat      
Bin den Code nachgegangen und ging dennoch nicht.
Hab den letzten subplot geändert und folgendermassen umgeschrieben:

Code:

subplot(3,3,3);hold all;
H1= plot(time,Signal 1);
H2= plot(time,Signal 2);grid on;
set (H1,'linewidth',2,'Color','r');
set (H2,'linewidth',2,'Color','b','linestyle','--');
legend([H1(1);H2(1)],'Signal 1','Signal 2',2);
 


Bisher scheint das jetzt so zu funktionieren, jedoch wüsste ich gerne warum ?
Übrigens ist mir aufgefallen, dass wenn ich geplottet habe und auf den Button "legende hinzufügen" drücke, dann auf dem letzten plot zwei weitere Signale angezeigt werden mit data1 und data2. dies geschieht aber nur wenn ich auf dem button klicke.

Danke!!
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.