我在 MATLAB 中以编程方式创建了一个 GUI,它允许用户调整某些参数以更改轴上显示的数据。我希望用户能够将该轴保存为 MATLAB 图。我尝试了多种通过谷歌和 MATLAB 文档找到的方法,但没有一个奏效。
我当前的非工作代码:
% Creation of the axes ui component
a1 = axes('Units','pixels','Position',[20,18,270,255],'box','on');
% Skipped ahead to callback for 'save' menu item
function menu1_callback(~,~)
% Creates a new figure
f2 = figure;
% Copies the axes a1 to the new figure
copyobj(a1,f2);
% Save the new figure
saveas(gcf,'filename','fig');
end
这是 MATLAB 生成的错误:
Error using getProxyValueFromHandle (line 15)
Input must be a valid handle.
Error in plotedit (line 91)
[varargout{1:nargout}] = feval(args{:});
Error in specgraph.barseries/preserialize (line 10)
peerVals = plotedit({'getProxyValueFromHandle',hPeers});
Error in hgsaveStructDbl (line 80)
olddata{i} = {hh,preserialize(hh)};
Error in hgsave (line 62)
hgS = hgsaveStructDbl(h, SaveAll);
Error in saveasfig (line 7)
hgsave( h, name );
Error in saveas (line 126)
feval( ['saveas' format], h, name )
Error in GBdataVisualiser2/menu1_callback (line 165)
saveas(gcf,'filename','fig');
Error while evaluating uimenu Callback