| 1 |
jmc |
1.1 |
function [xyP,xyB]=def_subP(n,dxRed,dyRed,dxB,dyB); |
| 2 |
|
|
% n = number of subplot in the page |
| 3 |
|
|
% dxRed = reduction of Horizon. size (x-dir) on the right side |
| 4 |
|
|
% dyRed = reduction of Vertical size (y-dir) splitted on both side |
| 5 |
|
|
% both dxRed,dyRed applies to all subplot |
| 6 |
|
|
% dxB,dyB :: scaling factor (relative to sub-plot size) of vertical colorbar |
| 7 |
|
|
% |
| 8 |
|
|
%- to use: [xyP,xyB]=def_subP(n*m,[dxRed,dyRed,dxB,dyB]); |
| 9 |
|
|
% and then, to replace subplot(nmj): |
| 10 |
|
|
% axes('position',xyP(j,:)); {make the plot} |
| 11 |
|
|
% BB=colorbar; set(BB,'Position',xyB(j,:)); |
| 12 |
|
|
|
| 13 |
|
|
% $Header: $ |
| 14 |
|
|
% $Name: $ |
| 15 |
|
|
|
| 16 |
|
|
if nargin < 2, dxRed=0; end |
| 17 |
|
|
if nargin < 3, dyRed=0; end |
| 18 |
|
|
if nargin < 4, dxB=0.1; end |
| 19 |
|
|
if nargin < 5, dyB=0.9; end |
| 20 |
|
|
xyP=zeros(abs(n),4); xyB=xyP; |
| 21 |
|
|
|
| 22 |
|
|
if n == 24, |
| 23 |
|
|
%-- to replace subplot(64?): |
| 24 |
|
|
xyP(:,1)=0.12/4 ; xyP(:,2)=0.10/6; |
| 25 |
|
|
xyP(:,3)=0.84/4; ; xyP(:,4)=0.80/6; |
| 26 |
|
|
xyP([2:4:n],1)=xyP(21,1)+0.90/4; |
| 27 |
|
|
xyP([3:4:n],1)=xyP(21,1)+1.94/4; |
| 28 |
|
|
xyP([4:4:n],1)=xyP(21,1)+2.90/4; |
| 29 |
|
|
xyP( 1:4 ,2)=xyP(21,2)+4.86/6; |
| 30 |
|
|
xyP( 5:8 ,2)=xyP(21,2)+3.94/6; |
| 31 |
|
|
xyP( 9:12,2)=xyP(21,2)+2.86/6; |
| 32 |
|
|
xyP(13:16,2)=xyP(21,2)+1.94/6; |
| 33 |
|
|
xyP(17:20,2)=xyP(21,2)+0.90/6; |
| 34 |
|
|
%-- to add a vertical colorbar on the 6th plot without changing its size: |
| 35 |
|
|
%---------- |
| 36 |
|
|
end |
| 37 |
|
|
|
| 38 |
|
|
if n == 8, |
| 39 |
|
|
%-- to replace subplot(42?): |
| 40 |
|
|
xyP(:,1)=0.12/2 ; xyP(:,2)=0.10/4; |
| 41 |
|
|
xyP(:,3)=0.84/2 ; xyP(:,4)=0.80/4; |
| 42 |
|
|
xyP([2:2:n],1)=xyP(7,1)+0.5; |
| 43 |
|
|
xyP(1:2,2)=xyP(7,2)+2.85/4; |
| 44 |
|
|
xyP(3:4,2)=xyP(7,2)+1.90/4; |
| 45 |
|
|
xyP(5:6,2)=xyP(7,2)+0.95/4; |
| 46 |
|
|
%-- reduction size in X dir: |
| 47 |
|
|
xyP([2:2:n],1)=xyP([2:2:n],1)-dxRed*xyP(1,3); |
| 48 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 49 |
|
|
end |
| 50 |
|
|
|
| 51 |
|
|
if n == 6, |
| 52 |
|
|
%-- to replace subplot(32?): |
| 53 |
|
|
xyP(:,1)=0.12/2 ; xyP(:,2)=0.10/3; |
| 54 |
|
|
xyP(:,3)=0.84/2 ; xyP(:,4)=0.80/3; |
| 55 |
|
|
xyP([2:2:n],1)=xyP(5,1)+0.5; |
| 56 |
|
|
xyP(1:2,2)=xyP(5,2)+1.9/3; |
| 57 |
|
|
xyP(3:4,2)=xyP(5,2)+0.95/3; |
| 58 |
|
|
%-- reduction size in X dir: |
| 59 |
|
|
xyP([2:2:n],1)=xyP([2:2:n],1)-dxRed*xyP(1,3); |
| 60 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 61 |
|
|
%-- to add a vertical colorbar on the 6th plot without changing its size: |
| 62 |
|
|
%xyP(6,3)=xyP(6,3)*1.17; |
| 63 |
|
|
%--and after drawing the 6th plot:later: |
| 64 |
|
|
% BB=colorbar('vertical'); |
| 65 |
|
|
% pos=get(BB,'position'); |
| 66 |
|
|
% pos(1)=.49; pos(3)=pos(3)/5; pos(2)=pos(2)+pos(4)*.1; pos(4)=pos(4)*.8; |
| 67 |
|
|
% set(BB,'position',pos); |
| 68 |
|
|
%---------- |
| 69 |
|
|
end |
| 70 |
|
|
|
| 71 |
|
|
if n == 4, |
| 72 |
|
|
%-- to replace subplot(22?): |
| 73 |
|
|
% [xyP,xyB]=def_subP(6); axes('position',xyP(j,:)); {make the plot} |
| 74 |
|
|
% BB=colorbar; set(BB,'Position',xyB(j,:)); |
| 75 |
|
|
xyP(:,1)=0.10/2 ; xyP(:,2)=0.10/2; |
| 76 |
|
|
xyP(:,3)=0.80/2 ; xyP(:,4)=0.84/2; |
| 77 |
|
|
xyP([2:2:n],1)=xyP(1,1)+0.92/2; |
| 78 |
|
|
xyP(1:2,2)=xyP(n,2)+0.98/2; |
| 79 |
|
|
%-- reduction size in X dir: |
| 80 |
|
|
xyP([2:2:n],1)=xyP([2:2:n],1)-dxRed*xyP(1,3); |
| 81 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 82 |
|
|
%---------- |
| 83 |
|
|
end |
| 84 |
|
|
|
| 85 |
|
|
if n == -4, |
| 86 |
|
|
%-- to replace subplot(41?): [xyP]=def_subP(-4); axes('position',xyP(?,:)); |
| 87 |
|
|
xyP(:,1)=0.10 ; xyP(:,2)=0.16/4; |
| 88 |
|
|
xyP(:,3)=0.78 ; xyP(:,4)=0.72/4; |
| 89 |
|
|
xyP(2:4,2)=xyP(1,2)+[1:3]*(0.98/4); |
| 90 |
|
|
%-- reduction size in X dir: |
| 91 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 92 |
|
|
%---------- |
| 93 |
|
|
end |
| 94 |
|
|
|
| 95 |
|
|
if n == 3, |
| 96 |
|
|
%-- to replace subplot(31?): [xyP]=def_subP(3); axes('position',xyP(?,:)); |
| 97 |
|
|
xyP(:,1)=0.10 ; xyP(:,2)=0.10/3; |
| 98 |
|
|
xyP(:,3)=0.84 ; xyP(:,4)=0.80/3; |
| 99 |
|
|
xyP(1,2)=xyP(n,2)+1.9/3; |
| 100 |
|
|
xyP(2,2)=xyP(n,2)+0.95/3; |
| 101 |
|
|
%-- reduction size in X dir: |
| 102 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 103 |
|
|
%---------- |
| 104 |
|
|
end |
| 105 |
|
|
|
| 106 |
|
|
if n == -3, |
| 107 |
|
|
%-- to replace subplot(13?): [xyP]=def_subP(-3); axes('position',xyP(?,:)); |
| 108 |
|
|
xyP(:,1)=0.10/3 ; xyP(:,2)=0.10; |
| 109 |
|
|
xyP(:,3)=0.80/3 ; xyP(:,4)=0.84; |
| 110 |
|
|
xyP(2,1)=xyP(1,1)+0.95/3; |
| 111 |
|
|
xyP(3,1)=xyP(1,1)+1.9/3; |
| 112 |
|
|
%-- reduction size in X dir: |
| 113 |
|
|
%xyP(2,1)=xyP(2,1)-dxRed*xyP(1,3); |
| 114 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 115 |
|
|
%---------- |
| 116 |
|
|
end |
| 117 |
|
|
|
| 118 |
|
|
if n == 2, |
| 119 |
|
|
%-- to replace subplot(21?): [xyP]=def_subP(2); axes('position',xyP(?,:)); |
| 120 |
|
|
xyP(:,1)=0.10 ; xyP(:,2)=0.10/2; |
| 121 |
|
|
xyP(:,3)=0.84 ; xyP(:,4)=0.80/2; |
| 122 |
|
|
xyP(1,2)=xyP(n,2)+0.98/2; |
| 123 |
|
|
%-- reduction size in X dir: |
| 124 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 125 |
|
|
%---------- |
| 126 |
|
|
end |
| 127 |
|
|
|
| 128 |
|
|
if n == -2, |
| 129 |
|
|
%-- to replace subplot(12?): [xyP]=def_subP(-2); axes('position',xyP(?,:)); |
| 130 |
|
|
xyP(:,1)=0.10/2 ; xyP(:,2)=0.10; |
| 131 |
|
|
xyP(:,3)=0.80/2 ; xyP(:,4)=0.84; |
| 132 |
|
|
xyP(2,1)=xyP(1,1)+0.92/2; |
| 133 |
|
|
%-- reduction size in X dir: |
| 134 |
|
|
%xyP(2,1)=xyP(2,1)-dxRed*xyP(1,3); |
| 135 |
|
|
xyP(:,3)=xyP(:,3)*(1-dxRed); |
| 136 |
|
|
%---------- |
| 137 |
|
|
end |
| 138 |
|
|
|
| 139 |
|
|
%- reduce size in Y by dyRed fraction: |
| 140 |
|
|
xyP(:,2)=xyP(:,2)+xyP(:,4)*dyRed/2; |
| 141 |
|
|
xyP(:,4)=xyP(:,4)*(1.-dyRed); |
| 142 |
|
|
|
| 143 |
|
|
%- colorbar position |
| 144 |
|
|
xyB(:,1)=xyP(:,1)+xyP(:,3)*(1+dxB); |
| 145 |
|
|
xyB(:,2)=xyP(:,2)+xyP(:,4)*(1-dyB)/2; |
| 146 |
|
|
xyB(:,3)=xyP(:,3)*dxB; |
| 147 |
|
|
xyB(:,4)=xyP(:,4)*dyB; |
| 148 |
|
|
|
| 149 |
|
|
return |