设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1320|回复: 0

Matlab图例设置

[复制链接]

16

主题

90

金钱

153

积分

入门用户

发表于 2019-7-15 17:22:11 | 显示全部楼层 |阅读模式

matlab中legend函数在添加图例时的使用方法

功能 在图形上添加图例。该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。当所画的是区域(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指定的图例进行刷新。

legend(…,pos) 在指定的位置pos放置图例见表7-5。

表7-5

Pos取值

pos=-1

pos=0

Pos=1

图例位置

坐标轴之外的右边

坐标轴之内,有可能遮挡部分图形

坐标轴的右上角(缺省位置)

Pos取值

pos=2

pos=3

pos=4

图例位置

坐标轴的左上角

在坐标轴的左下角

坐标轴的右下角

h = legend(…) 返回图例的句柄向量。

[legend_handle,object_handles] = legend(…) 返回图例句柄,该句柄为坐标轴定义于图例中的图形对象、line对象、text对象的句柄。这些句柄允许用户对每个对象进行详细的操作。



用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           inside top left
        'SouthEast'          inside bottom right
        'SouthWest'          inside bottom left
        'NorthOutside'       outside plot box near top
        'SouthOutside'       outside bottom
        'EastOutside'        outside right
        'WestOutside'        outside left
        'NorthEastOutside'   outside top right
        'NorthWestOutside'   outside top left
        'SouthEastOutside'   outside bottom right
        'SouthWestOutside'   outside bottom left
        'Best'               least conflict with data in plot
        'BestOutside'        least unused space outside plot

'North'             图例标识放在图顶端
        'South'            图例标识放在图底端
        'East'               图例标识放在图右方
        'West'              图例标识放在图左方
        'NorthEast'       图例标识放在图右上方(默认)
        'NorthWest      图例标识放在图左上方
        'SouthEast'      图例标识放在图右下角
        'SouthWest'     图例标识放在图左下角
(以上几个都是将图例标识放在框图内)
        'NorthOutside'          图例标识放在图框外侧上方
        'SouthOutside'         图例标识放在图框外侧下方
        'EastOutside'           图例标识放在图框外侧右方
        'WestOutside'          图例标识放在图框外侧左方
        'NorthEastOutside'   图例标识放在图框外侧右上方
        'NorthWestOutside'  图例标识放在图框外侧左上方
        'SouthEastOutside'   图例标识放在图框外侧右下方
        'SouthWestOutside'  图例标识放在图框外侧左下方
(以上几个将图例标识放在框图外)
        'Best'                      图标标识放在图框内不与图冲突的最佳位置
        'BestOutside'           图标标识放在图框外使用最小空间的最佳位置
还是用上面的例子

legend('sin','cos','location','northwest')可以将标识框放置在图的左上角。



例7-22

>>x = -pi:pi/20:pi;

>>plot(x,(cos(x)).^2,'rd',x,asin(x),'-.b')

>>h = legend('cos2x','asin',2);

图形结果为图7-22。

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

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

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

  参数字符串                              含  义

    0                        尽量不与数据冲突,自动放置在最佳位置
    1                                      放置在图形的右上角
    2                                      放置在图形的左上角
    3                                      放置在图形的左下角
    4                                      放置在图形的右下角
    -1                                    放置在图形视窗的外右边


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

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表