Verfasst am: 15.04.2011, 16:59
Titel: Problem Legende: Warning: Ignoring extra legend entries.
Ich hab einen Plot mit mehreren Kurven, und will nun die Kurven mit einer Legende anschreiben. Das klappt soweit auch ganz gut. Nur will ich die Kurven in einer anderen Reihenfolge anschreiben, als sie im Script geplottet werden. Grundsätzlich klappt das auch so:
Danke für die Antwort. Ich hab in meinem Eröffnungspost allerdings einen Fehler gemacht, in meinem Code hab ich dazwischen noch ' hold on ... hold on ... hold on ... hold off '.
Dass man aber auch einfach 'hold all' machen kann, wusste ich nicht, super.
Leider hab ich das Problem immer noch (naja, an den Legenden-relevanten Teilen des Codes hab ich auch nix geändert, nur die ganzen 'hold on' durch 'hold all' ersetzt). Hier mal der ganze Plot-Code:
Code:
figure('Name','Tage seit letztem Regentag & taegliche Niederschlagemenge', ...
'Position',[10,300,800,400],'Color','white');
Wie bereits geschrieben, wird der Plot an sich genau so ausgegeben, wie er sollte, von daher ist es nich so ein Problem. Ich will einfach die Fehlermeldung wegkriegen. Das ist sie in voller Länge:
Code:
Warning: Ignoring extra legend entries.
> In legend at 294
In indizes at 557
Übrigens: weiss grad jemand, wie ich eine vertikale Linie in den Plot einbauen kann, die ich in die Legende mit aufnehmen kann? Mit 'line()' hab ich die Linie hinbekommen (die auskommentierte Schleife; ich hab die Funktion, auf die sich die vertikale Linie bezieht, mitlerweile geändert, drum ist der noch nicht angepasste Teil auskommentiert), aber weiss nicht, wie ich die in die Legende rein bring.
Ich hab mal noch ein Bild des ausgegebenen Plots angehängt.
da ich deine Daten nicht habe, ist das für mich schwierig zu reproduzieren.
Kannst du ein Minimalbeispiel zusammenstellen, an dem das Problem bei dir auftritt?
Da ja im Plot selbst trotz Warnmeldung alles so angezeigt wird, wie es sollte, hab ich beschlossen, das Problem einfach zu unterdrücken, und deshalb den legend()-Code mit 'warning off all ... warning on all' umschlossen.
Eigentlich müsste sich zwar (meinen 'Recherchen' zufolge) die Warnmeldung gezielt mit
Ich dachte, ich schliess nur den legend()-Befehl damit ein, statt die Meldung global auszublenden, dann weiss ich wenigstens, wo er jeweils auftreten würde (wobei die Warnung wirklich nur in diesem einem Fall eintritt trotz mehreren legend()-Befehlen im Script; muss wohl irgendwie an den Daten oder so liegen, aber das ist mir mittlerweile wirklich egal).
Danke viel mal auf alle Fälle für die Hilfe @Harald!
Patrick++
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 17.07.2020, 14:35
Titel: Auf die Anzahl kommt es an...
Die Warnung kommt nur, wenn die Anzahl der Handles in h nicht mit der Anzahl der Legendeneinträge übereinstimmt.
Warnung:
Code:
h(1) = plot(rand(10,10);
hold on
h(2) = plot(rand(10,10);
h(3) = plot(rand(10,10);
legend(h, {'Zufall 1', 'Zufall 2', 'Zufall 3', 'Zufall 4'})
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.