cFigure
Below is a demonstration of the features of the cFigure function
Contents
Syntax
[h]=cFigure(figStruct);
Description
Creates a custom figure using the input structure figStruct. The cFigure function provides easy control of background color, the color definitions, the figure window size (e.g. near maximal), and enables figure property cloning. It also allows users to create hidden figures which can be made visible for instance using the mfv command.
Examples
clear; close all; clc;
Plot settings
fontSize=15; faceAlpha=0.75; edgeColor=0.3*ones(1,3); edgeWidth=1.5;
Basic use of cFigure and specification of custom figure properties
%Modifying standard figure properties figStruct.Name='GIBBON'; %Figure name figStruct.Color='k'; %Figure background color %Custom figure properties figStruct.ColorDef='black'; %Setting colordefinitions to black figStruct.ScreenOffset=0; %Setting spacing of figure with respect to screen edges [H(1)]=cFigure(figStruct); %Plot something surf(peaks(25)); axis equal; axis tight;
Creating hidden figures which are made visible using mfv
The below example demonstrates how to create 1 or more figures that remain hidden until the mfv command is used. This way the figures do not "steal focus". This can be an issue sometimes when multiple figures are used over time (and with some operational systems).
%Create property structure figStructHid.Visible='off'; %Open a hidden figure [H(1)]=cFigure(figStructHid); %Plot something in it hs=surf(peaks(25)); axis equal; axis tight; colormap jet; drawnow; %Open another hidden figure [H(2)]=cFigure(figStructHid); %Plot something in it hs=surf(peaks(25)); axis equal; axis tight; colormap gray; drawnow; pause(2); %Add pause to demonstrate lack of visible figures
At this point all figures are hidden so have not stolen focus. The figures can be made visible using the mfv command:
mfv(H); %Now make all in H visible
Calling hidden figures using scf
%Create property structure figStructHid.Visible='off'; figStruct.ScreenOffset=300; %Open a hidden figure without plotting anything in it [H(1)]=cFigure(figStructHid); %Open another hidden figure [H(2)]=cFigure(figStructHid); %Plot something in it hs=surf(peaks(25)); axis equal; axis tight; colormap autumn; drawnow; %Calling first figure again without making it visible scf(H(1)); %Now plot something in it hs=surf(peaks(25)); axis equal; axis tight; colormap winter; drawnow; %Now show the figures mfv; %If this is used instead of mfv(H) then all hidden figures are shown
Using the preloaded view control widget vcw
See also: vcw;
Location of the View Control Widget (vcw) activation button in the menubar:
Press v key to activate widget, press i to show help information
Using the preloaded Export Figure Widget efw
See also: efw;
Location of the Export Figure Widget (efw) button in the menubar:
GIBBON www.gibboncode.org
Kevin Mattheus Moerman, [email protected]
GIBBON footer text
License: https://github.com/gibbonCode/GIBBON/blob/master/LICENSE
GIBBON: The Geometry and Image-based Bioengineering add-On. A toolbox for image segmentation, image-based modeling, meshing, and finite element analysis.
Copyright (C) 2019 Kevin Mattheus Moerman
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.