MATLAB 自定义图例

Ammar Ali 2023年1月30日 2021年4月29日
  1. 使用 MATLAB 中的 legend() 函数添加自定义图例
  2. 使用 MATLAB 中的 text() 函数添加自定义图例
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')

输出:

自定义图例在 Matlab 中使用 legend()函数

在上面的代码中,我们在余弦波图上添加了三个图例,你可以看到它们与图不相关。你可以根据需要在图上添加任意数量的图例。你只需要在同一图形上添加更多具有未定义值的图即可。查看此网页以获取有关 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')

输出:

在 Matlab 中使用 text()函数自定义图例

现在,让我们在文本之前添加一条蓝线,并在文本和该行周围添加一个黑框。请参见下面的代码。

t = 1:0.01:2;
plot(cos(2*pi*t))
tex = text(95,0.8,'{\color{blue} ---} Cos','FontSize',18,'Color','k','EdgeColor','k')

输出:

在 Matlab 中使用 text()函数自定义图例

你可以通过在单元格中的行之前定义所需的颜色,使用 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')

输出:

在 Matlab 中使用 text()函数自定义图例

你还可以通过对字符串进行单元格排列,将多个字符串放在同一框中。查看此网页以获取有关 text() 函数的更多信息。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - MATLAB Plot