MATLAB: Anyway to use tight_subplot function in ‘invisible’ figure

tight_subplot function in 'invisible' figure

Hi:
is there anyway to use the tight_subplot function in 'invisible' figure?
https://www.mathworks.com/matlabcentral/fileexchange/27991-tight_subplot-nh-nw-gap-marg_h-marg_w
I create a invisible figure, but when use 'tight_subplot' function, is will create a new figure every time I run the code, below is the test code:
fig=figure('visible','off');
ha= tight_subplot(2,2,[0.11,0.08],0.08,0.08);
for i=1:1:4
axes(ha(i));
plot(1:5,1:5)
end
Thanks!
Yu

Best Answer

The line:
> axes(ha(i));
makes the axes ha(i) be the current axes and brings the parent figure into focus (visible).
The workaround is to directly tell 'plot' function the target axes by passing 'ha(i)' to its first input.
> plot(ha(i),1:5,1:5)
fig=figure('visible','off');
ha= tight_subplot(2,2,[0.11,0.08],0.08,0.08);
for i=1:1:4
plot(ha(i),1:5,1:5)
end