MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在轴外添加图例而无需在MATLAB中重新缩放 (https://www.labfans.com/bbs/showthread.php?t=23837)

poster 2019-12-10 20:48

在轴外添加图例而无需在MATLAB中重新缩放
 
我在MATLAB中有一个GUI,其中预先放置了一组轴。我正在使用图例的location属性将其放置在轴的右侧。但是,通过这样做,轴将重新缩放,以使轴+轴角占据轴的原始宽度。有什么办法可以避免调整大小?

例:

x=0:.1:10; y=sin(x); figure pos=get(gca,'position'); pos(3)=.5; %#re-size axes to leave room for legend set(gca,'position',pos) plot(x,y) 到目前为止,我得到:

[IMG]https://i.stack.imgur.com/KAMj0.png[/IMG]

地点图例:

legend('sin(x)','location','eastoutside') ... aaaaand ...

[IMG]https://i.stack.imgur.com/CizZG.png[/IMG]

MATLAB将其全部压缩到原始轴空间中。可以解决吗?



[B]回答:[/B]

[B]编辑[/B]

%# create three axes with custom position x=0:.1:10; y=sin(x); hAx1 = axes('Position',[0.05 0.05 0.7 0.2]); plot(hAx1, x,y) hAx2 = axes('Position',[0.05 0.4 0.7 0.2]); plot(hAx2, x,y) hAx3 = axes('Position',[0.05 0.75 0.7 0.2]); plot(hAx3, x,y) %# add legend to middle one h = legend(hAx2, 'sin(x)'); pos = get(h,'position'); set(h, 'position',[0.8 0.5 pos(3:4)]) [IMG]https://i.stack.imgur.com/yyOpt.png[/IMG]



[url=https://stackoverflow.com/questions/3602571]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 01:07

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.