我有一个矢量,其条目我想成为我的情节图的标题。我怎么做?我知道我只能在一个情节中添加一个传奇。
n=[2 4 6 8 10];
legend(int2str(n));
它应该显示为5个不同的传说,名为" 2"," 4" ....," 10"。 我不太熟悉如何将向量n更改为字符串向量。 感谢
答案 0 :(得分:3)
简单直观的(在我看来)可以创建与sprintf
向量的每个元素对应的字符串。在我的例子中,我使用for循环生成曲线,但如果曲线是在其他地方生成的,那么这个想法也是一样的。您可以根据需要自定义文本。代码基于与n
中的元素一样多的曲线。
示例:
clear
clc
x = 1:10;
y = rand(1,10);
n=[2 4 6 8 10];
%// Initialize the cell containing the text. For each "n" there is a cell.
LegendString = cell(1,numel(n));
%// Plot every curve and create the corresponding legend text in the loop.
hold all
for k = 1:numel(n)
plot(x,n(k)*y)
LegendString{k} = sprintf('n = %i',n(k));
end
%// Display the legend
legend(LegendString)
输出:
希望这就是你的意思。
对于单行,您可以将arrayfun
与num2str
一起使用(感谢@Divakar提供的建议):
arrayfun(@(n) ['n = ',num2str(n)],n,'Uni',0)
这提供了一个可以在legend
的调用中直接使用的单元格数组。