Hier läuft es folgendermaßen ab:
Ich habe 8 versch. Farben, welche durchlaufen werden (mit LineStyle 1 (-)). Sollte eine 9. Kurve mit reingeladen werden, so wird Farbe 1 aber LineStyle 2 (--) verwendet usw.
Lade ich aber nochmals 9 Kurven neu ein, so wird zwar wieder bei Farbe 1 begonnen (indem ich bei der Funktion "LoadPlot" den LineStyleOrderIndex wieder auf 1 setze), aber trotzdem wird alles mit LineStyle 2 (--) geplottet - und die 9. Kurve sogar mit LineStyle 3 (.
Ich möchte aber, dass, wenn ich komplett neu Daten einlade, wieder mit Farbe 1 und LineStyle 1 begonnen wird ... Weiß jemand den passenden Aufruf?
Was nicht funktioniert:
- In meiner LoadFile Funktion den 'LineStyleOrderIndex' wieder auf eins zu setzen.
- In meiner LoadFile Funktion den 'LineStyleOrderIndex' einmal auf etwas anderes zu setzen und dann wieder zurück auf den ursprünglichen. Das geht sogar soweit, dass der Index bestehen bleibt. Das heißt, lade ich einen neuen Style ein (--), so würde der zweite vom neuen genutzt werden ...
Funktion LoadPlot (stark vereinfacht, da ewig lang):
set(handles.axes1,'ColorOrderIndex',1);
%Hier habe ich versucht, den LineStyle nochmals neu aufzuspielen (war nur ein Versuch) set(handles.axes1,'LineStyleOrder','-|--|.');
...
Während des Schreibens habe ich mir überlegt, dass man ja den LineStyleOrder pro Aufruf der LoadFile Funktion um eins verschieben könnte, sodass zwar der Index um eins verschoben wird, aber der StyleOrder eben auch. Aber das wäre ein ziemlich umständlicher Workaround. Gibt es hierfür keine richtige Lösung?
Der LineStyleOrderIndex wird automatisch geändert, wenn der ColorOrderIndex das Limit der Colors übersteigt. Vielleicht geschieht das bei Dir. Du müsstest also den ColorOrderIndex auch setzen.
Ich blicke bei dem teilweise gezeigten Code nicht durch. Es ist hilfreicher, ein lauffähiges Beispiel zu posten, welches das Problem reproduziert. Z.B.:
Hier wird zwar die LineStyleOrder auf 1 gesetzt, trotzdem wird gestrichelt gezeichnet. Das geschieht aber nicht, wenn vorher die ColorStyleOrder nicht am Limit war:
Hilft das? Du hast zwar "in der LoadFile-Funktion (s.o.) den ColorOrderIndex gesetzt (auf 1)", aber es ist nicht genau nachvollziehbar, wann das wo aufgerufen wird und wo dann der LineStyleOrderIndex gesetzt wird. Vielleicht hattest Du es ja zwischen durch bereits richtig geschrieben, und nur vergessen abzuspeichern vor dem Test-Lauf. Genau darum ist es hilfreich, Code zu untersuchen, der das Problem reproduziert.
erstmal Danke für deine Antwort.
Zweitens entschuldige bitte, dass ich erst jetzt schreibe. War jetzt einen knappen Monat nicht im Lande.
Drittens: Das hilft tatsächlich. Ich hatte zwar den 'LineStyleOrderIndex' auf 1 gesetzt, aber irgendwie wurde es nicht aufgerufen. Jetzt habe ich das an anderer Stelle eingefügt und jetzt geht es.
Wie dem auch sei, jetzt funktioniert es ja
Danke schön.
VG
elchico
Einstellungen und Berechtigungen
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
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.