我有一个脚本,加载几个csv's,并在一个循环中绘制它们(为简洁起见,此代码示例被排除在外),但我在用图例标记数据时遇到了麻烦。
if var1() - 1 == 0
lgd = legend([txttitle],'interpreter','none');
else
lgd = legend(lgd,[txttitle],'interpreter','none');
title(lgd,'My Legend Title')
end
它适用于第一个csv,但只会出图第二个档案,其中的图例(name?)为“data1”,并显示此错误:
Error using legend (line 184)
Handle inputs of type Legend cannot be used with this function.
Error in scriptname (line 27)
lgd = legend(lgd,[txttitle],'interpreter','none');
如果我注解掉else语句和下面的行,它会绘制所有数据,但只会用适当的名称标记第一个图,而其余的图则标记为data1、data2等。因此,我认为这是一个语法问题,我无法完全理解它
注意:[txttitle]是数据文件的名称,因此我希望图例说明的内容。
1条答案
按热度按时间vsnjm48y1#
在这些情况下,使用
plot
的DisplayName
属性(以及大多数绘图函数),然后在循环之前/之后调用legend
一次,通常会更容易。例如:输出量: