大家好!matlab中如何调整legend的位置? 谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大家好!matlab中如何调整legend的位置? 谢谢!相关的知识,希望对你有一定的参考价值。

大家好!matlab中如何调整legend的位置? 谢谢!

在图的窗口中,点击Edit的Figure Properties,之后拖动图例到想去的位置。

参考技术A c=legend('标注',4);
后面的数字表示位置,可以用1,2,3,4,分别表示右上,左上,左下,右下
参考技术B legend(...,'Location','location') uses location to determine where to place the legend. location can be either be a 1–by-4 position vector ([left,bottom,width,height]) or else(see: >>doc legend) 参考技术C 画好图后树手动拖动就好了

Matlab中legend位置

转自:http://blog.sina.com.cn/s/blog_7db803c10102weyk.html

Matlab中legend默认的位置在NorthEast,如图所示:

%Matlab中legend的位置设置

clc
clear 
close all
Npoint = 100;
x = linspace(0,4*pi,Npoint);
y1 = sin(x);
y2 = cos(x);
H = plot(x,y1,x,y2);
legend('sin(x)','cos(x)');

技术图片

然而,我们却可以通过Location对legend的位置进行改变,变为North,如图所示

%Matlab中legend的位置设置

clc
clear 
close all
Npoint = 100;
x = linspace(0,4*pi,Npoint);
y1 = sin(x);
y2 = cos(x);
H = plot(x,y1,x,y2);
legend('sin(x)','cos(x)','Location','North');

技术图片

Matlab位置选择

设置 位置
‘North‘ inside plot box near top
‘South‘ inside bottom
‘East‘ inside right
‘West‘ inside left
‘NorthEast‘ inside top right (default for 2-D plots)
‘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 (default for 3-D plots)
‘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

Matlab中还可以选择某条曲线legend的指定显示

%Matlab中legend的选择

clc
clear 
close all
Npoint = 101;
x = linspace(0,10,Npoint);
y1 = besselj(1,x);
y2 = besselj(2,x);
y3 = besselj(3,x);
y4 = besselj(4,x);
y5 = besselj(5,x);
H = plot(x,y1,x,y2,x,y3,x,y4,x,y5);
legend('First','Second','Third','Fourth','Fifth','Location','NorthEastOutside')

技术图片

如果只想显示第1、3、5条,也很简单

%Matlab中legend的选择

clc
clear 
close all
Npoint = 101;
x = linspace(0,10,Npoint);
y1 = besselj(1,x);
y2 = besselj(2,x);
y3 = besselj(3,x);
y4 = besselj(4,x);
y5 = besselj(5,x);
H = plot(x,y1,x,y2,x,y3,x,y4,x,y5);
h1 = legend(H([1 3 5]),'First','Third','Fifthth','Location','NorthEastOutside')

还可以使用Orientation对legend进行横向排列

%Matlab中legend的横排,注意,Location位置改变为North

clc
clear 
close all
Npoint = 101;
x = linspace(0,10,Npoint);
y1 = besselj(1,x);
y2 = besselj(2,x);
y3 = besselj(3,x);
y4 = besselj(4,x);
y5 = besselj(5,x);
H = plot(x,y1,x,y2,x,y3,x,y4,x,y5);
h1 = legend(H([1 3 5]),'First','Third','Fifthth','Location','North');
set(h1,'Orientation','horizon')

技术图片

不显示方框:

clc
clear 
close all
Npoint = 101;
x = linspace(0,10,Npoint);
y1 = besselj(1,x);
y2 = besselj(2,x);
y3 = besselj(3,x);
y4 = besselj(4,x);
y5 = besselj(5,x);
H = plot(x,y1,x,y2,x,y3,x,y4,x,y5);
h1 = legend(H([1 3 5]),'First','Third','Fifthth','Location','North');
set(h1,'Orientation','horizon','Box','off')

技术图片

以上是关于大家好!matlab中如何调整legend的位置? 谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

如何通过指令将matlab的legend设置在图的左上方

matlab中如何调整legend的位置?

matlab调整legend方框大小

matlab中legend应该画在图像的哪个位置

matlab legend不覆盖

Matlab中legend位置