MATLAB legend()函数的用法(附带实例)
当在一幅图中出现多种曲线时,用户可以根据自己的需要,利用 MATLAB 中的 legend() 函数对不同的图例进行说明。
legend() 函数的调用格式及说明如下表所示。
【实例】添加绘图注释。MATLAB 程序如下:

图 1 绘图注释函数
注意在 MATLAB 中,汉字状态下输入的括号和标点等不被认为是命令的一部分,所以在输入命令的时候一定要在英文状态下输入完整命令。
为了使图像的可读性更强,可以利用 grid() 函数给二维或三维图形的坐标面增加网格线,它的调用格式及说明如下表所示。
legend() 函数的调用格式及说明如下表所示。
调用格式 | 说明 |
---|---|
legend() | 为每个绘制的数据序列创建一个带有描述性标签的图例 |
legend('string1','string2',...,Pos) | 用指定的文字 string1, string2,...在当前坐标轴中对所给数据的每一部分显示一个图例 |
legend(subset,'string1','string2',...) | 在图例的 subset 向量列出的数据序列的项中用指定的文字显示图例 |
legend(labels) | 使用字符向量元胞数组、字符串数组或字符矩阵设置标签 |
legend(target,...) | 在 target 指定的坐标区或图中添加图例 |
legend('off') | 从当前的坐标轴中去除图例 |
legend(vsbl) | 控制图例的可见性,vsbl 可设置为 hide、show 或 toggle |
legend(bkgd) | 删除图例背景和轮廓。bkgd 的默认值为 boxon,即显示图例背景和轮廓 |
legend(...,Name,Value) | 使用一个或多个名称-值对组参数来设置图例属性。设置属性时,必须使用元胞数组 {} 指定标签 |
legend(...,'Location',lcn) | 设置图例位置。Location 制定放置位置,包括 north、south、east、west、northeast 等 |
legend(...,'Orientation',ornt) | Ornt 指定图例放置方向,的默认值为 vertical,即垂直堆叠图例项;horizontal 表示并排显示图例项 |
lgd = legend(...) | 返回 Legend 对象。可使用 lgd 在创建图例后查询和设置图例属性 |
lgd = legendd(...) | 返回 Legend 对象。可使用 lgd 在创建图例后查询和设置图例属性 |
【实例】添加绘图注释。MATLAB 程序如下:
>> close all % 关闭当前已打开的文件 >> clear % 清除工作区的变量 >> x=0:0.1:5; % 创建0~5的向量x,元素间隔为0.1 >> y1=exp(0.5*x).*cos(2*x); % 定义以向量x为自变量的函数表达式y >> y2=cos(x).^5; % 定义以向量x为自变量的函数表达式y %曲线1是以t为横坐标、以y1为纵坐标的红色虚线;曲线2是以t为横坐标、以y2为纵坐标的蓝色点画线 >> plot(x,y1,'r-',x,y2,'b-.') >> title('函数曲线'); % 为图形添加标题 >> legend('函数1','函数2'); % 为图形的曲线添加对应图例 >> xlabel('自变量x');ylabel('函数值y'); % 对x轴、y轴进行标注,添加标签 >> grid on % 显示网格线在图形窗口中得到如下图所示的效果。

图 1 绘图注释函数
注意在 MATLAB 中,汉字状态下输入的括号和标点等不被认为是命令的一部分,所以在输入命令的时候一定要在英文状态下输入完整命令。
为了使图像的可读性更强,可以利用 grid() 函数给二维或三维图形的坐标面增加网格线,它的调用格式及说明如下表所示。
调用格式 | 说明 |
---|---|
grid on | 给当前的坐标轴增加网格线 |
grid off | 从当前的坐标轴中去除网格线 |
grid | 转换网格线的显示与否的状态 |
grid minor | 切换改变次网格线的可见性。次网格线出现在刻度线之间。并非所有类型的图都支持次网格线 |
grid(axes_handle,on|off) | 对指定的坐标轴 axes_handle 是否显示网格线 |