在matlab中保存图例

时间:2015-06-10 19:40:18

标签: matlab for-loop legend

我有一个代码,用于分析一些原始数据数据并比较许多(未知数量)测试的结果。为此我的代码首先像这样开始

prompt='how many files do you wish to analyse? ';
prompt1='what is the name of the test?  ';
prompt2='what is the name of the file? ';

n=input(prompt);

for i=1:n
    name(i,:)=input(prompt1,'s');
    filename(i,:)=input(prompt2);
end
for i=1:n
    a(:,:,i)=ftp_75_2(filename(i,:));
    for j=1:18
        figure(j)
        legend(name(i,:));
    end
end

每次添加新图例时都会遇到问题,旧图例会被删除。有人能帮我吗。我在网上看到了一些解决方案,但它们都需要运行代码的人创建特定的标签命令或知道图例中的文件数量,而不是从用户那里获取输入。

我正在创建此代码以提示提示,因为使用它的人几乎没有matlab知识

1 个答案:

答案 0 :(得分:0)

您可以在创建期间为执行绘图的函数分配DisplayName,如下所示:

plot(3:-1:1,1:3, 'DisplayName', 'My title')

您可以为各种测试执行此操作,然后,最后,您可以调用

legend(findobj(j, '-property', 'DisplayName'))

(其中j是你的数字句柄)来显示图例。