error in handle when save multiple figures
6 次查看(过去 30 天)
显示 更早的评论
I am running a loop to save multiple figures, in one loop the figure is coded as:
subplot(4,3,1)
plot(1:timesteps,S_RT(1:timesteps),'-b');
where S_RT(1:timesteps) is a variable that changes every loop.
then I save this graph as the following where i, jj, k and h indicate the four nested loop:
filename = sprintf('Tran_RT %d vs Tran_WT %d vs Mig %d vs Grow %d.png',i,jj,k,h);
saveas(gcf,filename);
clf;
It sometimes shows error as:
Error using checkArgsForHandleToPrint
Handle input argument contains nonhandle values.
Error in checkArgsForHandleToPrint
Error in print>LocalCreatePrintJob (line 100)
handles = checkArgsForHandleToPrint(0, varargin{:});
Error in print (line 38)
[pj, inputargs] = LocalCreatePrintJob(varargin{:});
Error in saveas (line 181)
print( h, name, ['-d' dev{i}] )
Is that due to I used "subplot"? How can I handle this issue? Thanks in advance.
2 个评论
Walter Roberson
2019-8-14
I would suspect that the clf is getting executed before the saveas() has finished. You might need a pause() to get the saveas() time to execute.
回答(2 个)
Shashank Gupta
2019-8-26
If we look at the error
Handle input argument contains non handle values
A non-handle value is passed when it expected a handle, that in turn is caused by "saveas" function.
The input argument to this function may not be handle anymore. Although you are using clf command to remove the figure, it shouldn’t have caused the problem as clf only remove the graphical content of the figure. Try looking at your code and see if you are removing the figure window as well because that will remove the handle and thus triggered the error. You can also try putting a breakpoint at "saveas" function and run the code. At the breakpoint inspect the values that are passed to "saveas" and check if the proper handle is passed.
0 个评论
Walter Roberson
2019-9-11
I would suspect that the clf is getting executed before the saveas() has finished. You might need a pause() to get the saveas() time to execute.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Printing and Saving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!