用Matlab画图时,有时候需要对各种图标进行标注,例如,用“+”代表A的运动情况,“*”代表B的运动情况。

legend函数的基本用法是:

LEGEND(string1,string2,string3, ...)

分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。

例如:

plot(x,sin(x),'.b',x,cos(x),'+r')

legend('sin','cos')这样可以把"."标识为'sin',把"+"标识为"cos"

还可以用LEGEND(...,'Location',LOC) 来指定图例标识框的位置

这些是Matlab help文件。后面一段是对应的翻译和说明

'North'              inside plot box near top
       
'South'             
inside bottom
       
'East'              
inside right
       
'West'              
inside left
       
'NorthEast'          inside top
right (default)
       
'NorthWest

...

matlab绘图中legend的终极用法

 

高级用法1:指定legend显示的位置:

legend({'str1','str2','strn'},1);

legend({'str1','str2','strn'},2);

legend({'str1','str2','strn'},'Location','SouthEast');

高级用法2:指定显示某几条曲线的legend

方法1:

例如你有25条曲线,想显示其中1,6,11,16,21的legend,则

for i = [2:5 7:10
12:15 17:20 22:25]
     set(get(get(H(i),'Annotation'),'LegendInformation'),'IconDisplayStyle','off');
end
legend('1','6','11','16','21');

方法2:

H = plot(data);
legend(H([1 6 11 16 21],'1,'6','11’,'16','21');

高级用法3:legend横排

hl = legend(H([1 6 11
16 21],'1,'6','11’,'16','21');
set(hl,'Orientation','horizon')

高级用法4:不显示方框:

hl = legend(H([1 6 11
16 21],'1,'6','11’,'16','21');
set(hl,'Box','off');

matlablegend函数在添加图例时的使用方法

功能 :

在图形上添加图例。该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。当所画的是区域(patch或surface对象)时,图例会在文字旁显示表面颜色。Matlab在一个坐标轴中仅仅显示一个图例。图例的位置有几个因素决定,像遮挡的对象等,用户可以用鼠标拖动图例到恰当的位置,双击标签可以进入标签编辑状态。

用法:

legend('string1','string2',…) 用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。

legend(h,'string1','string2',…) 用指定的文字string在一个包含于句柄向量h中的图形显示图例。用给定的数据对相应的图形对象加上图例。

legend(string_matrix) 用字符矩阵参量string_matrix的每一行字符串作为标签。

legend(h,string_matrix) 用字符矩阵参量string_matrix的每一行字符串作为标签给包含于句柄向量h中的相应的图形对象加标签。

legend(axes_handle,…) 给由句柄axes_handle指定的坐标轴显示图例。

legend('off') 从当前的坐标轴,或是由axes-handle指定的坐标轴中除掉图例。

legend(axes_handle,'off') 从由axes_handle指定的坐标轴中除掉图例。legend_handle = legend 返回当前坐标轴中的图例句柄,若坐标轴中没有图例存在,则返回空        向量。

legend 对当前图形中所有的图例进行刷新。

legend(legend_handle) 对由句柄legend_handle指定的图例进行刷新。

当在一个坐标系上画多幅图形时,为区分各个图形,Matlab提供了图例的注释说明函数。其格式如下:  

legend(字符串1,字符串2,字符串3,…,参数)

参数字符串的含义如下表所示:

参数字符串                                      含  义

0                              尽量不与数据冲突,自动放置在最佳位置

1                                                          放置在图形的右上角

2                                                          放置在图形的左上角

3                                                          放置在图形的左下角

4                                                          放置在图形的右下角

-1                              放置在图形视窗的外右边

此函数在图中开启了一个注释视窗,依据绘图的先后顺序,依据输出字符串对各个图形进行注释说明。如字符串1表示第一个出现的线条,字符串2表示第二个出现的线条,参数字符串确定注释视窗在图形中的位置。同时,注释视窗也可以用鼠标拖动,以便将其放置在一个合适的位置。

【 例 】在同一坐标内,绘出两条函数曲线并有图解注释。

>>x=0:0.2:12;

>>plot(x,sin(x),‘-’,x,1.5*cos(x),‘:’)

legend(‘First’,‘Second’,-1);    %强行将注释视窗放在图形视窗的外右边。

程序运行的结果如图所示:

matlab的legend用法的更多相关文章

  1. Matlab设置Legend横排、分块

    高级用法1:指定legend显示的位置: legend({'str1','str2','strn'},'Location','SouthEast'); 比较鸡肋,画好图后树手动拖动就好了 高级用法2: ...

  2. 向量与矩阵的范数及其在matlab中的用法(norm)

    一.常数向量范数 \(L_0\) 范数 \(\Vert x \Vert _0\overset{def}=\)向量中非零元素的个数 其在matlab中的用法: sum( x(:) ~= 0 ) \(L_ ...

  3. 数学建模学习笔记 | matlab基本命令及用法

    前言 数学建模对matlab水平的要求 了解matlab的基本用法,如常用命令.脚本结构.矩阵的基本操作.绘图等: 熟悉matlab的程序结构,能创建和引用函数: 熟悉常见模型的求解算法和套路: 自主 ...

  4. [ZZ] MATLAB中Legend的一些控制方法

    http://www.eetop.cn/blog/html/03/6503-23349.html 如果一个图中我们画了n条曲线,但是我们只想加图例说明(legend)的只有m条 (m<n).网上 ...

  5. matlab sign函数用法及实例

    在MATLAB科学计算过程当中,我们经常需要对我们的计算公式或者计算结果检验其符号,,sign函数就给我们提供了这种方便,下面就通过实例介绍一下matlab sign函数 的用法,希望能够给您带来帮助 ...

  6. interp1一维数据插值在matlab中的用法

    转载:https://ww2.mathworks.cn/help/matlab/ref/interp1.html?s_tid=srchtitle#btwp6lt-2_1 interp1 一维数据插值( ...

  7. Matlab中imagesc用法

    来源:https://ww2.mathworks.cn/help/matlab/ref/imagesc.html?searchHighlight=imagesc&s_tid=doc_srcht ...

  8. matlab中set用法

    来源:https://www.cnblogs.com/sddai/p/5467500.html 1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值.例如,Lin ...

  9. matplotlib笔记——legend用法

    rates = [0.01, 0.001, 0.0001] models = {} costs = np.array([[0.7, 0.9, 0.4, 0.6, 0.4, 0.3, 0.2, 0.1] ...

随机推荐

  1. 内省与JavaBean

    概述 JavaBean代表一类特殊的Java类,这种类主要用来存储和传递属性信息,JavaBean中的方法主要用于设置和获取这些私有属性,他们有一定的命名规则,我们可以把它们想象为一个侧重属性信息的类 ...

  2. Android Socket 相关

    http://www.imooc.com/learn/223 http://www.epubit.com.cn/book/onlinechapter/12093

  3. C#中克隆随机数的三种方法(为什么我想到了茴字的四种写法

    C#中的Random类可以用来产生伪随机数(正确的废话 伪随机数的一个性质就是给定一个初始种子,那么产生的随机数列都是相同的,这个性质非常适合用在不同环境之间同步逻辑的场景. 最近有一个要克隆当前随机 ...

  4. Esper系列(十四)Contained-Event Selection

    功能:该语法是针对所查询事件中的属性又是另一种属性的查询结果控制. 格式: 1  "+j); 19      bean.setBean(item); 20      list.add(bea ...

  5. Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)

    结果: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->opti ...

  6. Partition Array

    Given an array nums of integers and an int k, partition the array (i.e move the elements in "nu ...

  7. CSS背景与列表

    CSS中背景的使用 CSS中列表的使用 15.1 CSS中背景的使用         属性名称                             属性值                      ...

  8. Sql Server 存储过程使用技巧

    1.创建带Try...Catch的存储过程模板 Copy下面的代码,然后新建查询,就可以写sql语句,执行完后,一个你自己的存储过程就建立好了! USE [DB]--设定对应的数据库 GO SET A ...

  9. JAVA线程全局异常处理

    大家平时写线程很多,但可能很少关注如何捕获线程的全局异常.其实jdk提供了两种捕获全局异常的方法,一种是基于整个线程类(staticsetDefaultUnaughtExceptionHandler( ...

  10. 黑马程序猿_7K面试题之交通灯系统

    交通灯信号模拟系统 一.概述 模拟实现十字路口的交通灯管理系统逻辑,详细需求例如以下:(需求直接来源于老师的文档) ①      异步随机生成依照各个路线行驶的车辆. 比如: 由南向而来去往北向的车辆 ...