|
|
Re: save figures without displaying
Posted:
Apr 20, 2011 9:07 PM
|
|
"Oliver" wrote in message <io6jkk$5em$1@fred.mathworks.com>... > Hi all, I've looked around for ages but cannot find a different solution. I fear there isn't one. > > Problem: I have a tool that batch processes data and creates loads (00's) of figures. I don't want them flashing up and getting in the way while the user is still trying to work on the machine. > > Current solution: > set(fig, 'visible','off') > saveas(fig,'file.fig','fig') > close(fig) > > This is fine, however when trying to open the saved .fig file they remain invisible. > > I tried.... > set(fig, 'visible','off') > saveas(fig,'file.fig','fig') > set(fig, 'visible','on') > close(fig) > > In the hope it wouldn't be displayed, but it is. > > Next idea is to open the .fig using fopen and edit the file manually to set visibility to on, then re-save the edited .fig, but the data format is unknown. > > Any ideas how to save invisible figures, but have them open as visible?
While seeking for a solution to my problem, I found a very easy solution to yours. It is much easier than the listener that I proposed.
A clue:
>> help open . . . . . . . . . . . . . . . . . . . . . OPEN is user-extensible. To open a file with the extension ".XXX", OPEN calls the helper function OPENXXX, that is, a function named 'OPEN', with the file extension appended. . . . . . . . . . . . . . . . . . . . . .
The remedy:
1) Locate function OPENFIG and copy it to a directory, which is found on the path before the one, in which OPENFIG resides. 2) On the top of the code, find this line
visible = ''
(it goes after if nargin < 3)
and replace it with
visible = 'visible'
That’s it! :)
HTH
PS The solution by the other Oliver (to render all plots in the same figure) may not come in handy, because
(a) sometimes it is not easy to change the algorithm: the figure number may be a result of not trivial computation; (b) a single figure will be seen all the time, while the objective is to get rid of all figures.
|
|