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

plot hält sich nicht an farbreihenfolge

 

ententeich
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 12.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2014, 10:38     Titel: plot hält sich nicht an farbreihenfolge
  Antworten mit Zitat      
Hallo,

ich plotte einige Messdaten mit der Funktion plot(); in einen Graphen in meiner GUI.
Ich habe gesehen, dass man in GUIDE die Reihenfolge der Farben, die die einzelnen Linien bekommen sollen, festlegen kann.
Nun ist es leider so, dass die Linien, die ich plotte, willkürliche Farben haben. Meine Legende hält sich allerdings an die Reihenfolge.
Weiß jemand woran das liegt, bzw. wie ich das korrigieren kann?

Hier ist der code:
Code:
%DATEN PLOTTEN
plot(handles.axes1,x_achse,y1,x_achse,y2,x_achse,y3,x_achse,y4,x_achse,y5);
%ACHSEN BESCHRIFTEN
%x-Achse
xlabel(x_label);
%y-Achse (legende)
legend(handles.axes1,'Beschleunigung','DMS1','DMS2','DMS3','Hub');


#EDIT:
ich habe in meine GUI Checkboxen eingefügt, mit denen ich auswählen kann welche Daten geplottet werden sollen. Wenn ich alle Daten plotte dann stimmt die Reihenfolge der Farben.
Wenn ich einzelne Daten entferne, (im code wird die variable yn gleich 0 gesetzt) stimmt die Reihenfolge nicht mehr.

viele Grüße

Simon
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.02.2014, 19:56     Titel:
  Antworten mit Zitat      
Hallo,

ich kann mir nicht vorstellen, dass die Reihenfolge willkürlich ist. Sie folgt der ColorOrder-Eigenschaft des Koordinatensystems, standardmäßig blau, grün, rot etc. Auch Nulllinien sind Linien, werden dabei also berücksichtigt.

Falls das nicht hilft, bitte klären:
- welche Farbreihenfolge erwartest du?
- welche Farbreihenfolge erhältst du?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ententeich
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 12.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2014, 18:41     Titel:
  Antworten mit Zitat      
Hallo Harald,

Danke für deine Antwort!
wenn ich alle Daten Plotte, die ich aus der exel Datei gelesen habe, klappte alles wunderbar. wenn ich allerdings einige ausgelassen habe, (Abfrage über checkbox in der gui und dann im code variable = 0 setzten) wurde die Reihenfolge durch einander geschmissen und es wurden Farben angezeigt, die erst viel weiter hinten in der Reihenfolge standen.
Ich habe aber inzwischen eine andere Lösung gefunden:
Code:

plot(handles.axes1,x_achse,y1,'r');
hold on;
plot(handles.axes1,x_achse,y2,'b');
hold on;
.
.
.
 

Die Legende habe ich dann statisch in die GUI eingefügt.
Ich schätze das ist nicht besonders elegant aber dafür zweckerfüllend...

Gruß Simon
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.02.2014, 00:49     Titel:
  Antworten mit Zitat      
Hallo,

du kannst auch bei der anderen Variante nach jedem x-y - Paar die Linienspezifikation angeben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ententeich
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 12.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2014, 10:53     Titel:
  Antworten mit Zitat      
stimmt eigentlich Very Happy
hätte ich auch selbst drauf kommen können...
vielleicht kann ich dann wieder die legende benutzen. das probiere ich mal bei Gelegenheit.
Danke für deine Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen
 
ententeich
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 12.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2014, 10:39     Titel:
  Antworten mit Zitat      
ich habe die Lösung zu diesem problem endlich gefunden. Ich dachte schreib es hier mal rein, falls jemand hier mal drauf stößt.
Code:

bewirkt, dass bei jedem start von plott die farbreihenfolge zurückgesetzt wird.
Code:

tut das nicht.
also kann ich jetzt wie folgt korrekt polten. Der code wird alle Daten, die in der matrix plott_data gespeichert sind, plotten und dabei die plotts vom vorherigen Aufruf löschen. (in diesem fall sind die Daten für die x Achse in der ersten spalte gespeichert)
Code:


    i=2;
    v=size(plott_data);
    hold off;
    while i<=v(1,2)
        plot(handles.axes1,plott_data(:,1),plott_data(:,i));
        hold all;
        i=i+1;
    end
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.