matlab legend不覆盖

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab legend不覆盖相关的知识,希望对你有一定的参考价值。

matlab一条一条的画几条曲线时 如何实现 新曲线的legend不覆盖上条曲线的legend

谢谢

参考技术A legend('曲线1','曲线2','曲线3','曲线4');本回答被提问者采纳

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 画图, for 循环,用hold on每次循环都添加一条曲线,但是legend(×)会把上次的覆盖,如何解决?

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

matlab中如何调整legend的位置?

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

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

matlab中如何调整legend的位置?