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 und Farbe bei hold on?

 

raalen
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2009, 18:33     Titel: Legende und Farbe bei hold on?
  Antworten mit Zitat      
Hi zusammen,
also ich versuche gerade Daten aus aus verschiedenen Dateien in einem Verzeichnis einzulesen und in einem Plot darzustellen.
Das einlesen und darstellen klappt soweit, nun ist noch die Frage wie ich die unterschiedlichen Linien in der Legende automatisch benennen kann, bzw. die Farbe der einzelnen Plots verändern kann?

Hier mal der bisherige Code, in dem alle Linien im Plot blau sind:


Code:

Dateien = dir(['*.dat']) ;  %alle .dat Dateien im Verzeichis erfassen


 for aa = 1:length(Dateien)

       
        % Daten einlesen aus allen .dat Dateien
            Datei = Dateien(aa).name;
            Kopfzeilen_test = 5;

% Lesen
fid = fopen([Datei]);
    Daten   = textscan(fid, '%f %f ','delimiter', ',','headerlines',Kopfzeilen_test);
fclose(fid);
R= Daten{:,1}
W = Daten{:,2}
legende(aa)=aa

% Diagramm zeichnen
        figure(1)  
        grid on;  
        hold on;

        plot(1000*R,(W));
       
       % legend(???);
   
        xlabel ('R[mm]');
        ylabel ('w [m/s];');
             
 end
 


Es würde schon reichen, wenn die Legende mit durch den einfachen Vektor
Code:
legende(aa)
benannt wird.

Soweit mal.... hoffe es ist einigermaßen klar....
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2009, 15:24     Titel:
  Antworten mit Zitat      
Nimm das
Zitat:
figure(1)
grid on;
hold on;
xlabel ('R[mm]');
ylabel ('w [m/s];');

mal aus der Schleife raus, es reicht das einmal zu Beginn zu machen.
Und ersetzt mal
Code:
durch
Code:
, dann sollte das mit den Farben erstmal geklärt sein.
Für mehr Hilfe bitte ich um ein lauffähiges Beispiel.
 
raalen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2009, 16:32     Titel:
  Antworten mit Zitat      
Hi,
also das mit den verschiedenen Farben klappt nun mit
Code:
.

DANKE!

So sieht der Code nun aus:
Code:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%Einlesen der ax Komponente
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Dateien = dir(['*ax*','*.dat']) ;  %alle 'ax' .dat Dateien im Verzeichis erfassen

  figure(1)  
        grid on;  
        hold all;
        xlabel ('r/R[-]');
        ylabel ('v_a_x [m/s]');

 for aa = 1:length(Dateien)

       
        % Daten einlesen aus allen .dat Dateien
            Datei = Dateien(aa).name;
            Kopfzeilen_test = 5;

% Lesen
fid = fopen([Datei]);
    Daten   = textscan(fid, '%f %f ','delimiter', ',','headerlines',Kopfzeilen_test);
fclose(fid);


R(:,aa)= Daten{:,1};
vax(:,aa)= -Daten{:,2};

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%streamwise position swp aus Dateinamen bestimmen%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    filename=char(Datei);
       
    swp(aa) = str2num(filename(strfind(filename,'.dat')-4:strfind(filename,'.dat')-1))

   
%%Diagramm plotten
plot(1000*R(:,aa)/200,vax(:,aa));

%%%Legende des Diagramms soll pro Kurve mit dem zugehörigen swp Wert beschrieben werden  
legend(num2str(swp));            
 end
 


Was eben noch nicht geht, auch nach vielen Versuchen ist,
die Beschriftung der einzelnen Kurve mit einer Legende...
Anbei mal ein lauffähiges Beispiel.

Grüße

diagramme_legende.zip
 Beschreibung:

Download
 Dateiname:  diagramme_legende.zip
 Dateigröße:  3.74 KB
 Heruntergeladen:  685 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2009, 17:16     Titel:
  Antworten mit Zitat      
Versuch mal
Code:
legend(cellstr(num2str(swp')),'Orientation','horizontal','Location','NorthOutside')
nach der Schleife.
 
raalen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 09.12.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2009, 17:24     Titel:
  Antworten mit Zitat      
Viele Dank,
damit geht es nun!
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 - 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.