matlab绘图图例变量

matlab绘图图例变量,matlab,variables,legend,Matlab,Variables,Legend,我的问题是关于matlab绘图的图例条目 我希望在图例中输入变量,使其看起来像“A_1 B_2”。A、 1、B和2是变量letter1、number1、letter2、number2中的输入参数。您可以指定任何名称作为图例的输入。您的问题似乎是关于如何将变量连接到单个字符串中。通常,最简单的方法是使用[]操作符 figure() hold on h1 = plot(1:10) h2 = plot(5:15) legend([letter1,'_',num2str(number1)],...

我的问题是关于matlab绘图的图例条目


我希望在图例中输入变量,使其看起来像“A_1 B_2”。A、 1、B和2是变量letter1、number1、letter2、number2中的输入参数。

您可以指定任何名称作为图例的输入。您的问题似乎是关于如何将变量连接到单个字符串中。通常,最简单的方法是使用
[]
操作符

figure()
hold on
h1 = plot(1:10)
h2 = plot(5:15)
legend([letter1,'_',num2str(number1)],...
       [letter2,'_',num2str(number2)])

如果是这样的话,您可以在plot命令和title的末尾设置它,例如:

g <- make_empty_graph() # crate a new canvas to show this example
plot(g) # just to pup up the canvas created

谢谢,它几乎完美无瑕。但并不是所有的数字都是整数,所以我得到的是,例如,对于A_0.5,只有0作为索引,而不是整个A_{0.5}。如何做到这一点?是否希望在
0.5
周围使用大括号?在这种情况下,我将使用
sprintf
sprintf(“%s_%f',letter1,number1)
。如果需要不同的外观,可以调整格式说明符。对不起,不是大括号。这只是我的习惯。而且,答案中的方法甚至适用于非整数的数字。
sprintf
方法只有在您希望更精确地控制浮动的显示方式时才有用。
legend("bottomleft", legend=c("legend1", "legend2", "legend"), lty=c(1,2,3), lwd=c(2.5,2.5,2.5), col=c("black", "burlywood4", "skyblue"))