graph2D_jd

PURPOSE ^

SYNOPSIS ^

function [ax] = graph2D_jd(x,y,Z,xlab,ylab,tit,xlim,ylim,fill,maxw,cont,lab,style,color,width,font,red,Z_0,ax)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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';%'Courier';
0015 elseif ~isstruct(font),
0016     fontsize = font;
0017     font = struct;
0018     font.fontsize = fontsize;
0019     font.fontname = 'Times';%'Courier';
0020 else
0021     if ~isfield(font,'fontsize'),
0022         font.fontsize = 20+14i;
0023     end
0024     if ~isfield(font,'fontname'),
0025         font.fontname = 'Times';%'Courier';
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 %x = x(:);
0078 %y = y(:);
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 %hold on
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 %hold off
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);%,'fontsize',14
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

Community support and wiki are available on Redmine. Last update: 18-Apr-2019.