MATLAB でプログラムによって GUI を作成しました。これにより、ユーザーは特定のパラメーターを調整して、軸に表示されるデータを変更できます。ユーザーがその軸を MATLAB Figure として保存できるようにしたいと考えています。Google と 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