Matlab GUI轴图

时间:2014-10-29 18:45:33

标签: matlab matlab-guide

我有一些带有一些轴的Gui。 现在我将把一个轴放到一个新的数字上。 这是我的代码:

h = handles.axes3; % Find the axes object in the GUI
f1 = figure % Open a new figure with handle f1
s = copyobj(h,f1); % Copy axes object h into figure f1
print(f1,'-dpsc', 'raspberry.eps');

这样可行,但窗口的大小与图中的大小不同。 我认为GUI中的轴不在新图中的axes1上?

1 个答案:

答案 0 :(得分:1)

您复制了轴,而不是图。

创建一个新的图形将创建一个默认大小 - 它的大小与handle.axes3的祖先(图)大小不同。

请参阅以下示例:

f = figure ( 'position', [100 100 200 200] );
h = axes ( 'position', [0 0 0.5 0.5], 'parent', f );

% This will create a figure with a different size
f1 = figure ( 'Name', 'Different Size Fig' );
copyobj ( h, f1 );

% copy a figure which has the same size as the original
hFig = ancestor ( h, 'figure' );
originalFigPos = get ( hFig, 'position' );
f2 = figure ('Name', 'Same Size Fig' );
newFigPos = get ( f2, 'position' );
newFigPos(3:4) = originalFigPos(3:4);
set ( f2, 'position', newFigPos );

s = copyobj ( h, f2 );