传说中添加情节MATLAB(add legend matlab plot)

2019-10-22 23:26发布

我有一个MATLAB函数myfunction(var1,var2)这给了我一个传奇的阴谋。 我想用一个图表该功能可以生成更多的情节。 到目前为止是这种情况,即2个地块在一个图形搭配:

myfunction(a,b)
hold on
myfunction(c,d)
hold off

这里的问题是,这是每个情节生成的传说:

legend(sprintf('%s%s',var1,' on ',var2))
legend('boxoff')

只出现了的最后一个实例myfunction (在这种情况下,与myfunction(c,d)就不会有传说中只有一条线在那里说:“C的d”,但我想有两行以“上b”和 '上d c')中

所以,我怎么可以添加一些传说,而不会覆盖呢?

Answer 1:

另一种可能性是使用动态传说 MATLAB的(不那么好记录)功能。 在你的情况,而不是传递传奇字幕的legend功能,你需要用它们作为输入参数的plot功能:

plot(x, y, 'DisplayName', 'caption');

然后使用以下命令添加的传说:

lh = legend('-DynamicLegend');
set(lh, 'Box', 'off');

但是,如果你要尽可能快地在同一个情节呈现了大量的图表,例如在一个循环中我不建议这种方法。 在这种情况下,动态传说可能会导致显著的性能损失。



Answer 2:

如果你打算做这个有很多它可能是最好的图例标签导出为你的函数的输出参数,然后将它们连接起来,并调用legend之外的功能。

如果它只是一个黑客然后你的函数里面,你可以看一下轴手柄,将图例项了。 有一个类似的问题在这里是这样做的。



文章来源: add legend matlab plot