matlab中如何调整legend的位置?

matlab中如何调整legend的位置?,第1张

可以设置legend函数的参数进行大致设置,还可以通过其位置属性进行精确设置。

举例如下:

x=0:pi/20:pi

y=sin(x)

plot(x,y)

grid on

% 利用legend函数的参数进行大致设置

legend('sinx',-1) % 位于图形框外面

legend('sinx',0) % 最佳位置

legend('sinx',1) % 右上角

legend('sinx',2) % 左上角

legend('sinx',3) % 左下角

legend('sinx',4) % 右下角

% 利用位置属性进行精确设置

gca=legend( 'sinx', 4 )

set( gca, 'Position', [10, 50, 100, 400]) % [10, 50, 100, 400]为显示的位置坐标

% 这里要画一个2*2共4幅子图。先将第1个子图的位置调整。

h = subplot( 2, 2, 1)% 先让MATLAB默 认绘制第1幅子图,h是子图1的句柄

po = get( h, 'Position' ) % get命令从句柄h中获取'Position'的内容,返回一个含4个元素的一维数组放到po中。这4个元 素分别是子图1的left, bottom, width, height。

subplot( 'Position', [po(1)+0.03, po(2)-0.03, po(3), po(4)]) 子图1的新位置可以这样调整

%----------------------------------

hold on

axis([0 13 -3 2])

set( gca, 'XTick', [1:12] ) gca表示当前对象句柄,set命令分别对当前对象(即子图1)设置坐标轴XTick和YTick属性。这 两个属性分别表示了坐标轴的实际绘值范围。

set( gca, 'YTick', [-3:1:2] )

title( 'The North Hemisphere' )

plot( 1:12, bc, '-r.', 'MarkerSize', 10 ) 子图1中第1条曲线用实线绘,带有圆点,红色。MarkerSize属性设 置圆点的大小是10。这样画出来的就是实心圆了。

plot( 1:12, nit, '-b.', 'MarkerSize', 10 )

plot( 1:12, sul, '-g.', 'MarkerSize', 10 )

plot( 1:12, poa, '-m.', 'MarkerSize', 10 )

plot( 1:12, soa, '-k.', 'MarkerSize', 10 )

%zeroArr = zeros( 14 )

%plot( 0:13, zeroArr, '--k' )

xlabel( 'Month' )

ylabel( 'Radiative Effect (Wm^-^2)' ) 单位里有上标,^表示后续一个字符为上标。

下述代码绘子图2、3、4,雷同。

%--------------------------------------------------------------------------

% NH Radiative Forcing Fut-Mod 子图2

fid_bc=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_NH\bc.dat','r')

bc = fscanf( fid_bc, '%f', [1,12])

fclose( fid_bc )

fid_nit=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_NH\nit.dat','r')

nit = fscanf( fid_nit, '%f', [1,12])

fclose( fid_nit )

fid_sul=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_NH\sul.dat','r')

sul = fscanf( fid_sul, '%f', [1,12])

fclose( fid_sul )

fid_poa=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_NH\poa.dat','r')

poa = fscanf( fid_poa, '%f', [1,12])

fclose( fid_poa )

fid_soa=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_NH\soa.dat','r')

soa = fscanf( fid_soa, '%f', [1,12])

fclose( fid_soa )

%----------------------------------

h = subplot( 2, 2, 3, 'replace' )

po = get( h, 'Position' )

subplot( 2, 2, 3, 'replace' )

subplot( 'Position', [po(1)+0.03, po(2)+0.03, po(3), po(4)])

%----------------------------------

box on

hold on

axis([0 13 -3 2])

set( gca, 'XTick', [1:12] )

set( gca, 'YTick', [-3:1:2] )

%title( 'NH Fut-Mod' )

plot( 1:12, bc, '-r.', 'MarkerSize', 10 )

plot( 1:12, nit, '-b.', 'MarkerSize', 10 )

plot( 1:12, sul, '-g.', 'MarkerSize', 10 )

plot( 1:12, poa, '-m.', 'MarkerSize', 10 )

plot( 1:12, soa, '-k.', 'MarkerSize', 10 )

%zeroArr = zeros( 14 )

%plot( 0:13, zeroArr, '--k' )

xlabel( 'Month' )

ylabel( 'Radiative Forcing (Wm^-^2)' )

%--------------------------------------------------------------------------

% SH Radiative Effect Mod-Noall 子图3

fid_bc=fopen('D:\_CurrentPaper\RadiativeForcing\ModNoall_SH\bc.dat','r')

bc = fscanf( fid_bc, '%f', [1,12])

fclose( fid_bc )

fid_nit=fopen('D:\_CurrentPaper\RadiativeForcing\ModNoall_SH\nit.dat','r')

nit = fscanf( fid_nit, '%f', [1,12])

fclose( fid_nit )

fid_sul=fopen('D:\_CurrentPaper\RadiativeForcing\ModNoall_SH\sul.dat','r')

sul = fscanf( fid_sul, '%f', [1,12])

fclose( fid_sul )

fid_poa=fopen('D:\_CurrentPaper\RadiativeForcing\ModNoall_SH\poa.dat','r')

poa = fscanf( fid_poa, '%f', [1,12])

fclose( fid_poa )

fid_soa=fopen('D:\_CurrentPaper\RadiativeForcing\ModNoall_SH\soa.dat','r')

soa = fscanf( fid_soa, '%f', [1,12])

fclose( fid_soa )

%----------------------------------

h = subplot( 2, 2, 2, 'replace' )

po = get( h, 'Position' )

subplot( 2, 2, 2, 'replace' )

subplot( 'Position', [po(1)-0.03, po(2)-0.03, po(3), po(4)])

%----------------------------------

box on

hold on

axis([0 13 -1.2 0.8])

set( gca, 'XTick', [1:12] )

set( gca, 'YTick', [-1.2:0.4:0.8] )

title( 'The South Hemisphere' )

plot( 1:12, bc, '-r.', 'MarkerSize', 10 )

plot( 1:12, nit, '-b.', 'MarkerSize', 10 )

plot( 1:12, sul, '-g.', 'MarkerSize', 10 )

plot( 1:12, poa, '-m.', 'MarkerSize', 10 )

plot( 1:12, soa, '-k.', 'MarkerSize', 10 )

%zeroArr = zeros( 14 )

%plot( 0:13, zeroArr, '--k' )

xlabel( 'Month' )

%ylabel( 'Radiative Effect (Wm^-^2)' )

%--------------------------------------------------------------------------

% SH Radiative Forcing Fut-Mod 子图4

fid_bc=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_SH\bc.dat','r')

bc = fscanf( fid_bc, '%f', [1,12])

fclose( fid_bc )

fid_nit=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_SH\nit.dat','r')

nit = fscanf( fid_nit, '%f', [1,12])

fclose( fid_nit )

fid_sul=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_SH\sul.dat','r')

sul = fscanf( fid_sul, '%f', [1,12])

fclose( fid_sul )

fid_poa=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_SH\poa.dat','r')

poa = fscanf( fid_poa, '%f', [1,12])

fclose( fid_poa )

fid_soa=fopen('D:\_CurrentPaper\RadiativeForcing\FutMod_SH\soa.dat','r')

soa = fscanf( fid_soa, '%f', [1,12])

fclose( fid_soa )

%----------------------------------

h = subplot( 2, 2, 4, 'replace' )

po = get( h, 'Position' )

subplot( 2, 2, 4, 'replace' )

subplot( 'Position', [po(1)-0.03, po(2)+0.03, po(3), po(4)])

%----------------------------------

box on

hold on

axis([0 13 -1.2 0.8])

set( gca, 'XTick', [1:12] )

set( gca, 'YTick', [-1.2:0.4:0.8] )

%title( 'SH Fut-Mod' )

plot( 1:12, bc, '-r.', 'MarkerSize', 10 )

plot( 1:12, nit, '-b.', 'MarkerSize', 10 )

plot( 1:12, sul, '-g.', 'MarkerSize', 10 )

plot( 1:12, poa, '-m.', 'MarkerSize', 10 )

plot( 1:12, soa, '-k.', 'MarkerSize', 10 )

%zeroArr = zeros( 14 )

%plot( 0:13, zeroArr, '--k' )

xlabel( 'Month' )

%ylabel( 'Radiative Forcing (Wm^-^2)' )

我将legend放在了子图4上。

gca=legend( 'BC', 'Nitrate', 'Sulfate', 'POA', 'SOA', 4 ) 4表示把legend放在子图的右下角,还有几个数字的含义是:

0 = Automatic "best" placement (least conflict with data)

1 = Upper right-hand corner (default)

2 = Upper left-hand corner

3 = Lower left-hand corner

4 = Lower right-hand corner

-1 = To the right of the plot

po=get( gca, 'Position' )发现这样放置后legend要挡住图,因此需要再微调一下。获得legend的'Position'值。

set( gca, 'FontSize', 8, 'Position', [po(1)-0.01, po(2)+0.01, po(3), po(4)] )重新设置legend的位置,同时设置legend里面的字体为8号。

legend('boxoff') 不画legend的外框。

强调的是上述调整legend的值要不断地试。因为legend相对子图的位置还要随画图窗口大小变 化而变化。如果你看不懂这句,试试就知道了。

我一般是将MATLAB画出的图打印成PDF,再用Acrobat打开截屏,贴到WORD中,这样图 像质量似乎比较好。谁还有更好的将MATLAB图转贴到WORD的方法,欢迎赐教。

matlab中legend什么意思

matlab中的legend是图例的意思。 legend()使用格式:legend(string1,string2,string3, ...,n) string1——对应第一条曲线的字符串 n—图例位置方位数;n=1,图例位置右上角;n=2,图例位置左上角;n=3,图例位置左下角;n=4,图例位置右下角。

matlab中如何调整legend的位置?

matlablegend

大家好。matlab中如何调整legend的位置? 。我可以强忍着眼泪不掉下来,但是再怎么也忍不住心痛

clear allclcx=0:pi/20:piy=sin(x)plot(x,y)grid onlegend('sinx',-1)%位于图形框外面 - legend('sinx',0)最佳位置 legend('sinx',1)右上角 legend('sinx',2)左上角 legend('

matlab legend用法

matlab中legend加图示命令的使用时间会把你欠下的对不起,变成还不起,又会把很多对不起,变成来不及。

plot(n,xr,'-b',n,y,'-.r',n,x,'-bo') legend('预测值','估计结果x','观 n = 1:.5:10xr = sin(n)y = cos(n)x = xr.*yplot(n,xr,'-k',n,y,'-.r',n,x,'-bo')% k 是黑色,其他没有问题 legend('预测值','估计结果x','观测数据y')

如何使用Matlab画图的legend和label

用Matlab画图时,有时候需要对各种图标进行标注,例如,用“+”代表A的运动情况,“*”代表B的运动情况。 legend函数的基本用法是: LEGEND(string1,string2,string3, ...) 分别将字符串

legend使用来标注图形中的线 xlabel和ylabel是用来做x轴和y轴的标注的 下面给个示例 clcclearx=-pi:0.01:piplot(x,sin(x),'r-.')hold onplot(x,cos(x),'b')legend('y=sin(x)图像','y=cos(x)图像')xlabel('x轴')ylabel('y轴')

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

可以设置legend函数的参数进行大致设置,还可以通过其位置属性进行精确设置。 举例如下: x=0:pi/20:piy=sin(x)plot(x,y)grid on% 利用legend函数的参数进行大致设置 legend('sinx',-1)% 位于图形框外面 legend('sinx',0)% 最佳位置

MATLAB柱状图的legend只显示第一个

z=[850042008500580042008500]b=bar(z)ch = get(b,'children')因为你只有一个纵坐标,所以只显示一个。 你画图时,改为6个纵坐标,就可以了 clcclearz=[850042008500580042008500]color=[423156]b=zhold on for i=1:length(z) b(i)=bar(i,z(i))ch = get(b(i),'children')set(ch,'Fac

matlab中关于legend的问题程序很简单 x=0:0.2:12plot(x,sin(x),'-',x,1.5*cos(x),':')legend(我不知道你的是什么问题。但是我拷了你的代码到我的MATLAB里运行,一点问题也没有。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11298577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存