1

我在 for 循环中有一个情节,我需要使用 legend 命令来标记它们。我需要创建一个字符串数组来使用它。出于某种原因,它似乎不起作用。有人可以帮忙吗。我正在粘贴下面的代码。

   for i = 1:len
   for j = 1:C{i,1}/n
    cc = hsv(12);
    semilogx(w/pi,Same_psd{i,1}(:,j+1),'color',cc(j+1,:))
    str = num2str(Same_mean{i,j+1});
    srt_array = [str_array; str];
    legend(str_array);
   end 
   end
4

2 回答 2

4

尝试这个:

legend_labels = cell(10,1);

for i = 1:10

    h(i) = plot(randn(10,1));
    hold all
    legend_labels{i} = sprintf('This is label #%i', i);

end;

legend(h,legend_labels{:})
于 2012-05-08T13:29:35.300 回答
1

尝试使用 DisplayName 属性。具有很好的副作用,您可以保证图例与您的线条同步。

例如:

clf
hold on
for i = 1:10
    col = rand(3,1);
    semilogx(1:10,rand(10,1),'DisplayName',sprintf('This is curve %i',i),...
    'color',col)
end 
legend('Location','best')
于 2012-05-08T14:26:42.247 回答