これに関するすべてのオンライン提案を読んだ/試みたような気がします-おそらく明らかなことを見逃しています! Matlab R2013a では、ループから複数の行をプロットし (毎回読み込まれる行数は可変です)、凡例を追加します。ここでは、シリーズ名がリストから読み込まれます。凡例の線の色は、プロットの線の色と一致しません。
カラー マップ、get & set コマンド、凡例をループの内外に配置する、凡例用に別のループを作成するなどを試しました。助けてください! コードの関連セクションは次のとおりです。
%% getting the data....
for i=1:length(files); % for each file in the folder
FileName = files(i,1).name; % extract the filename
calfile = files(i,1).name; % lists all filenames for metadata
a = length(calfile);
fn(i,1:a) = calfile;
fid_data(i) = fopen(files(i,1).name,'r'); % open that file
data = csvread(FileName,0,1,[0 1 15 30]); %
diam(i,:) = data(9,:); % puts each channel center diameter into array
diamerr(i,:) = data(10,:); % channel centre error
end
x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30];
%% Plotting data
h = (figure('name','campaign summary','numbertitle','off'));
set(gca, 'box','on')
for r = 1:i
plot(x,diam(r,:)); % plots diameters for each flight
hold all
errorbar(diam(r,:), diamerr(r,:)); % plots error bars for each flight diameters
end
legend(fn(:,:),'location', 'northwest'); % legend derived from filename list
set(legend,'Interpreter','none'); % stops the underscore from making text subscript