Legende für mehrere Zeilen in Matlab plot

Habe ich 13 Zeilen auf einem Grundstück, jede Zeile entspricht einem Satz von Daten aus einer text-Datei. Ich möchte label jede Zeile beginnt mit dem ersten Satz von Daten als 1.2, anschließend 1.25, 1.30, 1.80, etc., mit jedem Inkrement werden 0.05. Wenn ich geben Sie es manuell, es wäre

legend('1.20','1.25','1.30', ...., '1.80')

Jedoch, in der Zukunft, ich kann mit mehr als 20 Linien auf der Grafik. Also die Eingabe, jeder ist unrealistisch. Ich habe versucht, die Schaffung einer Schleife in der Legende, und es funktioniert nicht.

Wie kann ich das in einer praktischen Art und Weise?


N_FILES=13 ; 
N_FRAMES=2999 ; 
a=1.20 ;b=0.05 ; 
phi_matrix = zeros(N_FILES,N_FRAMES) ; 
for i=1:N_FILES
    eta=a + (i-1)*b ; 
    fname=sprintf('phi_per_timestep_eta=%3.2f.txt', eta) ; 
    phi_matrix(i,:)=load(fname);
end 
figure(1);
x=linspace(1,N_FRAMES,N_FRAMES) ;
plot(x,phi_matrix) ; 

Brauchen hier Hilfe:

legend(a+0*b,a+1*b,a+2*b, ...., a+N_FILES*b)
Warum gehst du nicht einfach tun x=1:N_FRAMES;? Klarer, denke ich. Eigentlich brauchen Sie nicht x an alle, die plot(phi_matrix); funktionieren sollte.
Das wäre besser, aber Sie hätte umsetzen phi_matrix so, dass es Parzellen, jede Spalte als eine Zeile.

InformationsquelleAutor Flora | 2011-04-07

Schreibe einen Kommentar