MATLAB 自定义图例
在本教程中,我们将讨论如何使用 MATLAB 中的 legend()
和 text()
函数将自定义图例添加到绘图中。
使用 MATLAB 中的 legend()
函数添加自定义图例
legend()
函数用于在 MATLAB 中将图例添加到绘图中。但是问题在于,它只能在一个图上添加一个图例。如果你尝试使用此函数添加多个图例,则 MATLAB 将给出错误。因此,要添加与图没有任何关系的自定义图例,你必须在图上添加更多具有未定义值的图,然后可以添加更多图例。你将不会看到这些图,因为它们的值是不确定的,但是你会看到图例。例如,让我们向余弦波图添加自定义图例。请参见下面的代码。
t = 1:0.01:2;
plot(cos(2*pi*t))
hold on
p(1) = plot(NaN,NaN);
p(2) = plot(NaN,NaN);
p(3) = plot(NaN,NaN);
hold off
legend(p,'Cos1','Cos2','Cos3')
输出:
在上面的代码中,我们在余弦波图上添加了三个图例,你可以看到它们与图不相关。你可以根据需要在图上添加任意数量的图例。你只需要在同一图形上添加更多具有未定义值的图即可。查看此网页以获取有关 legend()
函数的更多信息。
使用 MATLAB 中的 text()
函数添加自定义图例
我们还可以使用 text()
函数将文本添加到绘图中。你需要传递要在其上放置文本的 x 和 y 坐标。只需绘制变量,然后从图中选择坐标,然后使用 text()
函数将文本放置在所选坐标上即可。如果提供的坐标不位于绘图上,则将无法看到文本。你还可以使用 FontSize
属性更改文本的属性,例如字体大小,并使用 Color
属性更改颜色,例如,让我们绘制一个余弦波并在其上放置一些字体大小为 18 和红色的文本颜色。请参见下面的代码。
t = 1:0.01:2;
plot(cos(2*pi*t))
t = text(100,0.8,'Cos1','FontSize',18,'Color','r')
输出:
现在,让我们在文本之前添加一条蓝线,并在文本和该行周围添加一个黑框。请参见下面的代码。
t = 1:0.01:2;
plot(cos(2*pi*t))
tex = text(95,0.8,'{\color{blue} ---} Cos','FontSize',18,'Color','k','EdgeColor','k')
输出:
你可以通过在单元格中的行之前定义所需的颜色,使用 Color
属性的文本以及使用 EdgeColor
属性的框来为行指定所需的颜色。你还可以在图上的多个位置添加多个文本,这些文本具有不同的文本、线型、颜色、大小和框。例如,让我们在上面的图形上再添加一个文本,其中带有红色的余弦
文本,绿色的*
标记,绿色的方框,黄色的框和 18 种字体大小。请参见下面的代码。
t = 1:0.01:2;
plot(cos(2*pi*t))
tex1 = text(95,0.8,'{\color{blue} ---} Cos','FontSize',18,'Color','k','EdgeColor','k')
tex2 = text(89,0.4,'{\color{red} *} Cosine','FontSize',18,'Color','g','EdgeColor','y')
输出:
你还可以通过对字符串进行单元格排列,将多个字符串放在同一框中。查看此网页以获取有关 text()
函数的更多信息。