1 |
function plot_faces(ng,vF,k,ccB); |
2 |
% plot_faces(ng,vF,k [,ccB]); |
3 |
% |
4 |
% make 1 figure (fig. number = ng) composed of Nface parts |
5 |
% corresponding to level k (enter k=0 if 2D field) of the structured |
6 |
% array "vF": vF.f001 = face 1, vF.f002 = face 2 ... |
7 |
% with color range ccB(1),ccB(2) (default = ccB=[0 0] = no call to caxis) |
8 |
|
9 |
if nargin < 4, ccB=[0 0]; end |
10 |
|
11 |
%- extract list of faces: |
12 |
% convention: faces identificator is "f{n}" (face number n written with 3 digits) |
13 |
listV=fieldnames(vF); listF=[]; |
14 |
for i=1:size(listV,1) |
15 |
cvar=char(listV(i)); |
16 |
if length(cvar) == 4 & strncmpi('f00',cvar,3), |
17 |
if isempty(listF), listF=cvar; else listF=char(listF,cvar); end |
18 |
end |
19 |
end |
20 |
listF=cellstr(listF); |
21 |
Nfaces=size(listF,1); |
22 |
if Nfaces > 6, |
23 |
error([' Nb of faces =',int2str(Nfaces),' > 6 !']) |
24 |
end |
25 |
|
26 |
xyP=zeros(6,4); |
27 |
xyP(1,:)=[0.05 0.05 0.20 0.72]; |
28 |
xyP(2,:)=[0.29 0.05 0.20 0.72]; |
29 |
xyP(3,:)=[0.29 0.80 0.20 0.18]; |
30 |
xyP(4,:)=[0.53 0.05 0.20 0.72]; |
31 |
xyP(5,:)=[0.77 0.05 0.20 0.72]; |
32 |
xyP(6,:)=[0.77 0.80 0.20 0.18]; |
33 |
|
34 |
xyP(3,:)=[0.05 0.80 0.20 0.18]; %- move face 3 in top-left corner |
35 |
figure(ng);clf; |
36 |
for n=1:Nfaces, |
37 |
cvar=char(listF(n)); var=vF.(cvar); |
38 |
if k ~= 0, var=var(:,:,k); end |
39 |
if n > 3, var=fliplr(var'); end %- rotate face 4,5,6 |
40 |
if n == 3, var=flipud(var'); end %- rotate to put face 3 in top-left corner |
41 |
AA=axes('position',xyP(n,:)); |
42 |
imagesc(var'); set(gca,'YDir','normal'); |
43 |
if ccB(1) < ccB(2), caxis(ccB); end |
44 |
end |
45 |
H=colorbar('peer',AA,'North'); |
46 |
set(H,'Position',[xyP(4,1) 0.90 xyP(4,3) 0.020]); |
47 |
|
48 |
return |