如何在matlab绘图窗口中自定义图例

时间:2014-12-29 09:17:56

标签: matlab plot matlab-figure legend

如下图所示,图例窗口的图例太长。我想做的是:

1 - 要知道如何在第二行拆分图例?

2 - 了解如何缩短图例中指示的红线。如您所见,图例中包含一条红线(x1 = ......),我想知道是否有可能缩短红线或控制其长度。

enter image description here

2 个答案:

答案 0 :(得分:0)

有两种方法可以控制图例的内容:

  1. 使用TeX命令:MATLAB使用TeX解析图例条目(以及标题,标签等)。您可以使用大多数TeX功能和符号。您可以在{{3>}的口译员部分找到一些详细信息。

  2. sprintf sprintf函数的工作方式与所有printf函数类似,并输出一个字符串。它允许您添加控件字符,如\n,插入变量等。有关详细信息,请查看MATLAB help pages

  3. 在您的情况下,您可以使用以下任一代码段:

    legend('x1 = x = ... \newline ...');
    legend(sprintf('x1 = x = ... \n, ...'));
    

    关于你的第二个问题:我不知道有任何改变这条线的可能性。遗憾。

答案 1 :(得分:0)

至于你的第二个问题 - 你可以用2个输出参数调用图例:

[h,att] = legend('show')

然后使用att.XData属性来操纵此行。

plot(sin(-pi:0.1:pi),'r')
[h,att] = legend('show')
att(2).XData(2) = 0.2;

结果:

enter image description here