matlab 图例框去掉,[转载]matlab绘图中legend的终极用法,去掉legend的边框

本文介绍了如何在MATLAB中定制图例,包括去除图例边框、指定图例位置、选择显示特定曲线的图例、横排显示以及隐藏图例的方法。通过示例代码展示了如何实现这些高级功能。
摘要由CSDN通过智能技术生成

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%持续更新。 当前:

20100108 %

%仅作笔记。 作者: keyflying %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

legend有时候挺烦人的,尽管大多时候挺好用。

基本数据:

data = rand(25)+repmat(1:25,25,1);

H = plot(data);

基本用法:

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

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

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

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

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

可选的位置很多:

North:Inside plot box near top

South:Inside bottom

EastI:nside right

West:Inside left

NorthEast:Inside top right (default)

NorthWest:Ins

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在MATLAB,可以非常简单地去掉图例边框。下面是两种方法: 方法一: 可以使用Matlab内置函数 legend,将 legend box 设置为 绝对透明 的,即 alpha = 0。 根据下面的示例代码,可以轻松实现: x=1:10; plot(x,x,'r',x,x.^2,'b',x,x.^3,'k') lgd = legend('line1','line2','line3'); lgd.BoxFace.ColorType='truecoloralpha'; lgd.BoxFace.ColorData(4)=0; 对于颜色设置,可以自由更改相应的 R , G , B 值。如果需要改变 alpha 值,可以从 3 到 4 的ColorData元素进行更改。 方法二: 第二种方法是使用 fill 函数将 legend box 的区域绘制为透明。 x=1:10; plot(x,x,'r',x,x.^2,'b',x,x.^3,'k') lgd = legend('line1','line2','line3'); set(lgd,'EdgeColor','none') fill([0 1 1 0],[0 0 1 1],'w','FaceAlpha',0) fill([1 2 2 1],[0 0 1 1],'w','FaceAlpha',0) fill([2 3 3 2],[0 0 1 1],'w','FaceAlpha',0) fill([3 4 4 3],[0 0 1 1],'w','FaceAlpha',0) fill([4 5 5 4],[0 0 1 1],'w','FaceAlpha',0) center_pos = [0.8 0.2; 1.8 0.2; 2.8 0.2; 3.8 0.2; 4.8 0.2]; for i=1:5 rectangle('Position',[center_pos(i,1)-0.04 center_pos(i,2)-0.025 0.07 0.05],... 'Curvature',[1 1],... 'FaceColor',lgd.EntryContainer.Children(i).FaceColor,... 'EdgeColor','none') end 我们可以设置 EdgeColor 为 none,以去除 legend box 的边框。然后使用 fill 函数将背景颜色改为白色,并使用 FaceAlpha 设置透明度为 0。最后,绘制与 legend item 颜色相同的小圆圈,作为示例颜色的边框标识符。 ### 回答2: 在Matlab图例是展示图形各项元素含义的重要组成部分。图例包含了每个数据系列所对应的颜色、样式或标记等信息,方便用户快速地理解图形。但是,在一些情况下,图例边框可能会影响到整个图形的美观性。本文将介绍如何在Matlab去掉图例边框。 方法一:使用legend函数属性 在Matlab图例,可以通过设置legend函数属性来去掉图例边框。具体步骤如下: 1)在绘制图形时,调用legend函数,并在其后添加以下属性: legend('boxoff') 2)运行代码后,图例边框成功去掉。 下面是实现这个过程的Matlab代码,其用到的图形为简单的XY坐标系: x = 0:pi/10:pi; y = sin(x); plot(x,y); legend('sin(x)','boxoff'); 方法二:使用图例对象属性 在Matlab图例是一个独立的对象,可以通过设置其属性实现去掉图例边框的功能。具体步骤如下: 1)在绘制图形时,调用legend函数,并保存返回的图例对象: h = legend('sin(x)'); 2)通过设置图例对象的属性,去掉图例边框: set(h,'EdgeColor','none') 3)运行代码后,图例边框成功去掉。 下面是通过图例对象属性实现去掉图例边框Matlab代码,其用到的图形仍为XY坐标系: x = 0:pi/10:pi; y = sin(x); plot(x,y); h = legend('sin(x)'); set(h,'EdgeColor','none'); 通过这两种方法,可以很方便地去掉Matlab图例边框,使图形更加美观。 ### 回答3: 在Matlab绘图时,图例是一个非常重要的组成部分,可以将不同数据集的线条或点标示出来,方便观察和理解数据。然而,有时候图例边框并不美观,可能会影响整个图表的美观程度。若需要去掉图例边框,可以按如下操作: 1. 打开Matlab软件,并加载所需数据集。 2. 在命令窗口输入“plot(x,y)”指令,生成一张默认的图表。 3. 然后,使用“legend('data1','data2','data3')”指令添加图例。其,括号的参数为数据集名称,根据实际情况更改即可。 4. 接下来,可以使用“h=legend”获取图例句柄,再使用“set(h,'edgecolor','none')”指令将图例边框去掉,同时将返回一个句柄h。 5. 最后,使用“box off”指令将图表边框去掉,保证整个图表整洁美观。 综上所述,通过使用Matlab图例句柄和相应的属性设置,可以方便地实现去掉图例边框的操作。此外,Matlab还提供了多种其他的图表定制化操作和绘图工具,用户可以根据需要自由定制,生成高质量的数据可视化图表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值