"Oliver" wrote in message <email@example.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.
>> 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. . . . . . . . . . . . . . . . . . . . . .
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! :)
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.