0001 function [ax] = graph2D_jd(x,y,Z,xlab,ylab,tit,xlim,ylim,fill,maxw,cont,lab,style,color,width,font,red,Z_0,ax)
0002
0003 if nargin < 19
0004 ax = gca;
0005 end
0006 if nargin < 18
0007 Z_0 = NaN;
0008 end
0009 if nargin < 17
0010 red = 1;
0011 end
0012 if nargin < 16
0013 font.fontsize = 20+14i;
0014 font.fontname = 'Times';
0015 elseif ~isstruct(font),
0016 fontsize = font;
0017 font = struct;
0018 font.fontsize = fontsize;
0019 font.fontname = 'Times';
0020 else
0021 if ~isfield(font,'fontsize'),
0022 font.fontsize = 20+14i;
0023 end
0024 if ~isfield(font,'fontname'),
0025 font.fontname = 'Times';
0026 end
0027 end
0028 if nargin < 15
0029 width = 0.5;
0030 end
0031 if nargin < 14
0032 color = NaN;
0033 end
0034 if nargin < 13
0035 style = NaN;
0036 end
0037 if nargin < 12
0038 lab = 0;
0039 end
0040 if nargin < 11
0041 cont = NaN;
0042 end
0043 if nargin < 10
0044 maxw = NaN;
0045 end
0046 if nargin < 9
0047 fill = 0;
0048 end
0049 if nargin < 8
0050 ylim = NaN;
0051 end
0052 if nargin < 7
0053 xlim = NaN;
0054 end
0055 if nargin < 6
0056 tit = '';
0057 end
0058 if nargin < 5
0059 ylab = '';
0060 end
0061 if nargin < 4
0062 xlab = '';
0063 end
0064 if nargin < 3
0065 Z = y;
0066 y = 1:size(Z,2);
0067 end
0068 if nargin < 2
0069 Z = x;
0070 x = 1:size(Z,1);
0071 y = 1:size(Z,2);
0072 end
0073 if nargin == 0
0074 error('no argument')
0075 end
0076
0077
0078
0079
0080 if ~isnan(maxw)
0081 if isnan(Z_0)
0082 Z_0 = Z((length(x)+1)/2,1);
0083 end
0084 Z = Z + eps*(Z==0);
0085 lnZ = log(Z/Z_0);
0086 Z = real(sqrt(maxw^2*lnZ.^2 - 2*lnZ));
0087 end
0088
0089
0090 if ~isnan(color)
0091 if fill == 0
0092 if ~isnan(cont)
0093 [C,H] = contour(ax,x,y,Z',cont,color);
0094 else
0095 [C,H] = contour(ax,x,y,Z',color);
0096 end
0097 else
0098 if ~isnan(cont)
0099 [C,H] = contourf(ax,x,y,Z',cont,color);
0100 else
0101 [C,H] = contourf(ax,x,y,Z',color);
0102 end
0103 end
0104 else
0105 if fill == 0
0106 if ~isnan(cont)
0107 [C,H] = contour(ax,x,y,Z',cont);
0108 else
0109 [C,H] = contour(ax,x,y,Z');
0110 end
0111 else
0112 if ~isnan(cont)
0113 [C,H] = contourf(ax,x,y,Z',cont);
0114 else
0115 [C,H] = contourf(ax,x,y,Z');
0116 end
0117 end
0118 end
0119
0120 if any(isnan(color)) && ~any(isnan(cont)) && length(cont) > 1,
0121 caxis(ax,[min(cont),max(cont)]);
0122 end
0123
0124
0125 set(H,'linewidth',width);
0126 if ~isnan(style)
0127 set(H,'linestyle',style);
0128 end
0129
0130 if lab ~= 0
0131 clabel(C,H,'manual','fontsize',font.fontsize,'fontname',font.fontname);
0132 end
0133 if ~isnan(xlim)
0134 set(ax,'xlim',xlim);
0135 end
0136 if ~isnan(ylim)
0137 set(ax,'ylim',ylim);
0138 end
0139
0140 if ~isempty(xlab),
0141 xl = xlabel(ax,xlab);set(xl,'fontsize',font.fontsize,'fontname',font.fontname);
0142 end
0143 if ~isempty(ylab),
0144 yl = ylabel(ax,ylab);set(yl,'fontsize',font.fontsize,'fontname',font.fontname);
0145 end
0146 if ~isempty(tit),
0147 tl = title(ax,tit);set(tl,'fontsize',font.fontsize,'fontname',font.fontname);
0148 end
0149
0150 set(ax,'fontsize',font.fontsize,'fontname',font.fontname);
0151
0152 [lspace,bspace,apos_new] = resizejd(ax,red);
0153
0154 box on