首页 > 编程笔记 > MATLAB笔记 阅读:126

MATLAB legend()函数的用法(附带实例)

当在一幅图中出现多种曲线时,用户可以根据自己的需要,利用 MATLAB 中的 legend() 函数对不同的图例进行说明。

legend() 函数的调用格式及说明如下表所示。

表: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 是否显示网格线

相关文章