Verfasst am: 16.07.2012, 09:21
Titel: "Legend" bei dynamischen Handles
Hallo!
Ich hab Probleme eine Legende zu auszugeben, wenn ich innerhalb einer Schleife plotte.
Code:
figure(2)
hFig=figure(2);
set(hFig,'PaperPositionMode','Auto','Position',[001080700]);
hold on;
[ax,h1,h2] = plotyy(rawdata(:,1),rawdata(:,auswahl(1)),rawdata(:,1),rawdata(:,auswahl(max)));
for i = 2:(max-2)
l1=line('parent',ax(1),'xdata',rawdata(:,1),'ydata',rawdata(:,auswahl(i)));
end
l3=line('parent',ax(2),'xdata',rawdata(:,1),'ydata',rawdata(:,auswahl(max-1)));
hold off;
Der legend Command funktioniert natürlich nicht, denn l1 wird ja bei jedem Schleifendurchgang überschrieben.
Die Anzahl der Schleifendurchgänge ist auch nicht fix. Selbst wenn ich bei jedem Durchgang dynamisch eine Variable erstellen könnte, hab ich anschließend wieder Probleme alles auszugeben.
du könntest mit l1(i) arbeiten und so die Handles in einen Vektor schreiben.
Welche Linien genau sollen beschriftet werden? Jede einzelne der in der Schleife geplotteten Linien? Wenn ja, wie sollen sie beschriftet werden? (sind ja dann mehr als vier).
Es muss irgendwie an der Fenstergröße vom Plot liegen.
Im rechten Plot (noch mal zur Erinnerung hier der Plot http://postimage.org/image/vcxepwpdb/full/) ist die 'Location' auf den Wert 'NorthEastOutside' definiert.
Nun hab ich gerade herausgefunden, dass wenn ich die Legende nachträglich händisch weiter nach rechts (also Richtung EAST) verschiebe das Problem behoben wird.
Siehe hier:
http://postimage.org/image/k8kwb9tgv/
Also zu mind. wird das Layout wieder richtig gestellt.
Keine Ahnung, was nun das Problem ist.
Echt frustrierend. Nur die blöde Legende lässt sich nicht platzieren
...werfe (für heute) das Handtuch
dein geposteter Code macht bei mir (verständlicherweise) das, was er soll. Ich habe auch die Daten ein wenig verändert, und konnte das Problem nicht reproduzieren. Bitte möglichst Daten bereitstellen, mit denen das Problem nachvollzogen werden kann.
Bitte auch angeben, mit welchem Release du arbeitest.
Mein MatLab Version:
7.0.4.365 (R14) Service Pack 2
Student Version
Kann ich Dir vielleicht eine persönliche Nachricht schicken, damit wir Mailadressen austauschen? Ich will die Daten nicht gerne einfach so veröffentlichen.
es müssen ja nicht die ganzen Daten sein; oft reichen die ersten 5 und die letzten 5 Zeilen. Oder die 10 "extremsten" Zeilen (was auch immer das heißt).
Wenn es so nicht klappt, können wir das auch über PN machen.
sorry, ich schreibe sehr viele Beiträge hier und gehe nicht jedes Mal alles von oben bis unten durch. Am einfachsten ist es, wenn man die Versions-Information in das Profil packt; so ist es schnell zu erkennen.
R14 ist eine recht alte Version. Es ist durchaus möglich, dass ein Problem mit dieser Version aus einem inzwischen längst behobenen Bug herrührt.
Grüße,
Harald
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.