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

legende für zwei plots in figure

 

hasel82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2008, 01:36     Titel: legende für zwei plots in figure
  Antworten mit Zitat      
da ich bis heute keine konkrete antwort auf meine frage erhalten habe, stelle ich die frage nochmal aber anders

Ich habe bei jedem Durchlauf der Schleife zwei Einträge in der Legende mehr, was auch super funktioniert.

legendename entspeicht filename die in ein cell 2x1 gespeichert ist

cell namen sind legend1 und legend2

Die eine legende ist für die linke Achse und die andere für die rechte

alle zwei Plots im Diagramm haben die gleiche Farbe

Das Problem:

mit dieser

legend(AX(1),legende1);
hold on
legend(AX(2),legende2);

bekomme ich in der legende cell{1} mit entsprechende linienfarbe/Marker und cell{2} ohne linienfarbe/Marker

auch mit dieser hat es nicht funktioniert

legend([legende1,legende2]);

Hat noch jemand eine Idee? Ich bin ziemlich neu in Matlab, das macht das ganze schwerer. Vielen Dank!


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 19.05.2008, 07:05     Titel:
  Antworten mit Zitat      
Moin,

kannst du mal einen Beispiel-Plot posten, der dieses Verhalten zeigt? Dann ist vllt. leichter zu verstehen, was du möchtest...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
hasel82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 08:56     Titel:
  Antworten mit Zitat      
steve hat Folgendes geschrieben:
Moin,

kannst du mal einen Beispiel-Plot posten, der dieses Verhalten zeigt? Dann ist vllt. leichter zu verstehen, was du möchtest...

Gruß
Alex



Beispiel plot s. Anhang

in figure sieht man zwei legenden, die eine mit spannung1 und spannung2
in der zweiten legende nur strom1 und strom2 fehlt

eigentlich sollte in der legende immer spannung und strom die gleiche farbe und Marker haben, aber es wird falsch zugeordnet in der legende.

ich hoffe es ist lösbar?

test.pdf
 Beschreibung:

Download
 Dateiname:  test.pdf
 Dateigröße:  6.29 KB
 Heruntergeladen:  1049 mal
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 19.05.2008, 09:06     Titel:
  Antworten mit Zitat      
So recht kann ich das Problem noch nicht erkennen, vllt. solltest du noch den code dazu posten... Ich kann mir gut vorstellen, dass dort irgendwo der Wurm drin ist Rolling Eyes
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
hasel82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 12:16     Titel:
  Antworten mit Zitat      
Code:


n=3;
liste_spannung=cell(n,1);
liste_strom=cell(n,1);

legend1=strtok(filename,'.csv');
legend2=cat(2,legend1,'strom');

    for i=1:n
         
         liste_spannung{i}=legend1;
         liste_strom{i}=legend2;
       
             
    end

legend(AX(1),liste_spannung);
legend(AX(2),liste_strom);
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 19.05.2008, 12:50     Titel:
  Antworten mit Zitat      
So ganz steig ich noch nicht hinter deinen Code...
Produziert folgender Code nicht das gleiche Ergebnis?
Code:

% n=3;
% liste_spannung = cell(n,1);
% liste_strom = cell(n,1);

liste_spannung = strtok(filename,'.');
liste_strom = strrep(legend1,'spannung','strom');

legend(AX(1),liste_spannung);
legend(AX(2),liste_strom);
 

_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
hasel82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 13:18     Titel:
  Antworten mit Zitat      
es soll nach jedem plot die legende hinzugefügt. d.h. zum schluss haben wir z.B. 5 plots und 5 legende.

darum auch cell und die for-schleife

aber mit deinem code wird es jedesmal überschrieben
 
hasel82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2008, 16:32     Titel:
  Antworten mit Zitat      
so ich weiß jetzt warum es nicht funktioniert, weil bei jedem Durchlauf die rechte Y-Achse neu generiert wird.

aber ich weiß nicht wie ich es beheben kann????

Code:


n=3;

liste_spannung=cell(n,1);
liste_strom=cell(n,1);
 
for i=1:n
   
    X=-[2.9 1.5 0.5 -1.9]; %spannung hat 4 werte
    X1= -[2.9 1.5 -0.5];    %strom hat 3 werte

    [AX, H1, H2]=plotyy(X,spannung,X1,strom);

    legend1=strtok(filename,'.csv');
    legend2=cat(2,legend1,'strom');
         
    liste_spannung{i}=legend1;
    liste_strom{i}=legend2;
       
             
end

   legend(AX(1),liste_spannung);
   legend(AX(2),liste_strom);


vielleicht hast du jetzt eine Lösung für mich
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 19.05.2008, 17:02     Titel:
  Antworten mit Zitat      
Ich steig da immernoch nicht durch, da ich deinen code bei mir nicht ausführen kann, ohne mir noch Werte auszudenken...

Poste mal bitte einen Code, der alles enthält was nötig ist (z.B. Defintion von "filename", "spannung", "strom" etc), damit ich den nach copy&paste ausführen kann und das Verhalten bekomme, welches du beschreibst!
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
hasel82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2008, 08:54     Titel:
  Antworten mit Zitat      
hallo,

so im anhang findest du den code und die zwei files dateien in .xls

beim plotten wirst du sehen, dass die legende für die linke achse einwandfrei funktioniert (zwei plots=zwei legenden).

aber für die rechte achse funktioniert die legende nicht, es wird nur eine angezeigt.

und bekomme Fehlermeldung:


Warning: Ignoring extra legend entries.


ich du kannst es jetzt nachvollziehen Wink)
> In legend at 292
In Untitled at 70[\b]


spannung02.xls
 Beschreibung:

Download
 Dateiname:  spannung02.xls
 Dateigröße:  13.5 KB
 Heruntergeladen:  846 mal
spannung01.xls
 Beschreibung:

Download
 Dateiname:  spannung01.xls
 Dateigröße:  13.5 KB
 Heruntergeladen:  768 mal
test.m
 Beschreibung:

Download
 Dateiname:  test.m
 Dateigröße:  2.38 KB
 Heruntergeladen:  748 mal
 
hasel 82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2008, 09:16     Titel:
  Antworten mit Zitat      
sorry habe die alte version von test.m gepostet, hier das richtige

test.m
 Beschreibung:

Download
 Dateiname:  test.m
 Dateigröße:  1.7 KB
 Heruntergeladen:  760 mal
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 21.05.2008, 09:39     Titel:
  Antworten mit Zitat      
Hi,

hast Du Dich da vielleicht irgendwo mit Spannung und Strom vertan?
In 'storm_legend' steht spannung und umgekehrt. Das wird den Fehler nicht verursachen, aber es wäre für die Fehlersuche sicher nicht schlecht, wenn Du das noch korrigieren würdest.

Wozu sind denn die Excel-Dateien da? Willst Du die später noch einlesen?

Diese merkwürdigen XTicks kommen mir bekannt vor Wink
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
hasel82

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2008, 10:13     Titel:
  Antworten mit Zitat      
ich habe es korregiert

die xls-datei ist eigentlich fürs einlesen da und die berechnung der stromwerte, aber im code habe ich es weggelassen und stattdessen im code manuell eingefügt

bei jedem plotten wird wahrscheinlichdie rechte achse immer neu hinzugefügt

test.m
 Beschreibung:

Download
 Dateiname:  test.m
 Dateigröße:  1.69 KB
 Heruntergeladen:  780 mal
strom02.xls
 Beschreibung:

Download
 Dateiname:  strom02.xls
 Dateigröße:  13.5 KB
 Heruntergeladen:  667 mal
strom01.xls
 Beschreibung:

Download
 Dateiname:  strom01.xls
 Dateigröße:  13.5 KB
 Heruntergeladen:  796 mal
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 22.05.2008, 10:57     Titel:
  Antworten mit Zitat      
Ich finde das sehr unverständlich.
Was willst Du da eigentlich machen?
Du plottest in einer Schleife 2-mal den gleichen Inhalt übereinander, willst Den dann aber unterschiedlich kennzeichnen?

Was muss man bei diesem Dialog am Anfang für Dateien auswählen?
strom_liste ist immer noch nicht richtig.
Wenn ich spannung1.xls und strom1.xls auswähle ist
strom_liste =

'spannung01'
'strom01'
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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 - 2024 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.