在图形上添加图例。该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。当所画的是区域(patch或surface对象)时,图例会在文字旁显示表面颜色。Matlab在一个坐标轴中仅仅显示一个图例。图例的位置有几个因素决定,像遮挡的对象等,用户可以用鼠标拖动图例到恰当的位置,双击标签可以进入标签编辑状态。
用法
1.legend('string1','string2',…) 用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。
2.legend(h,'string1','string2',…) 用指定的文字string在一个包含于句柄向量h中的图形显示图例。用给定的数据对相应的图形对象加上图例。
3.legend(string_matrix) 用字符矩阵参量string¬_matrix的每一行字符串作为标签。
4.legend(h,string_matrix) 用字符矩阵参量string¬_matrix的每一行字符串作为标签给包含于句柄向量h中的相应的图形对象加标签。
5.legend(axes_handle,…) 给由句柄axes_handle指定的坐标轴显示图例。
6.legend('off') 从当前的坐标轴,或是由axes-handle指定的坐标轴中除掉图例。
7.legend(axes_handle,'off') 从由axes_handle指定的坐标轴中除掉图例。
8.legend_handle = legend 返回当前坐标轴中的图例句柄,若坐标轴中没有图例存在,则返回空向量。
legend 对当前图形中所有的图例进行刷新。
legend(legend_handle) 对由句柄legend_handle指定的图例进行刷新。
9.legend(…,pos) 在指定的位置pos放置图例见表7-5。
10.h = legend(…) 返回图例的句柄向量。
[legend_handle,object_handles] = legend(…) 返回图例句柄,该句柄为坐标轴定义于图例中的图形对象、line对象、text对象的句柄。这些句柄允许用户对每个对象进行详细的操作。
例1
>>x = -pi:pi/20:pi;
>>plot(x,(cos(x)).^2,'rd',x,asin(x),'-.b')
>>h = legend('cos2x','asin',2);
一个坐标系中有多幅图时
当在一个坐标系上画多幅图形时,为区分各个图形,Matlab提供了图例的注释说明函数。其格式如下:
legend(字符串1,字符串2,字符串3,…,参数)
参数字符串的含义如下表所示:
参数字符串 含 义
0 尽量不与数据冲突,自动放置在最佳位置
1 放置在图形的右上角
2 放置在图形的左上角
3 放置在图形的左下角
4 放置在图形的右下角
-1 放置在图形视窗的外右边
此函数在图中开启了一个注释视窗,依据绘图的先后顺序,依据输出字符串对各个图形进行注释说明。如字符串1表示第一个出现的线条,字符串2表示第二个出现的线条,参数字符串确定注释视窗在图形中的位置。同时,注释视窗也可以用鼠标拖动,以便将其放置在一个合适的位置。
例2
x=0:0.2:12;
plot(x,sin(x),‘-’,x,1.5*cos(x),‘:’)
legend(‘First’,‘Second’,-1); %强行将注释视窗放在图形视窗的外右边。