在MATLAB中将轴打开到单独的图中

时间:2014-12-15 11:57:49

标签: matlab user-interface matlab-guide

我创建了一个包含多个包含绘图的轴的GUI。我想添加一个按钮,在单独的图中打开这些图,这样我就可以进行一些操作,例如更改标题并保存它。轴没有必要随图更新。

换句话说,如何将GUI的轴导出到图形(单独的窗口)?

这是我的按钮回调,它应该打开新的数字

function btn_open_force_sandheight_Callback(hObject, eventdata, handles)

axes(handles.force_sandheight); % This axes already contains the plots

为了清楚起见,该图已经存在于轴上。我需要在一个单独的图中打开它。

2 个答案:

答案 0 :(得分:1)

请参阅copyobj()

# Make a dummy "GUI"
h.fig1 = figure;
h.ax1 = axes('Parent', h.fig1);
plot(1:10);

# Spawn new figure window and copy axes object from the GUI
h.fig2 = figure;
h.ax2 = copyobj(h.ax1, h.fig2);

答案 1 :(得分:0)

这很简单!只需将轴的属性'Parent'更改为新图。

示例:

fh1 = figure('Name','1');
plot( rand(10) ); 
ah = gca; %// get handle to current axes in figure 1

现在我们创建第二个数字并将情节移动到它

fh2 = figure('Name','2');
set( ah, 'Parent', fh2 ); %// that's it!