Changeset 7398 for issm/trunk
- Timestamp:
- 02/09/11 11:41:28 (14 years ago)
- Location:
- issm/trunk/src/m/qmu/plot
- Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/qmu/plot/plot_boxplot.m
r4763 r7398 106 106 while (iarg <= nargin-1) 107 107 if ischar(varargin{iarg}) 108 eval([varargin{iarg} '=varargin{iarg+1};']); 109 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 108 if ~isempty(strmatch(varargin{iarg},... 109 {'ymin','ymax'},... 110 'exact')) 111 eval([varargin{iarg} '=varargin{iarg+1};']); 112 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 113 else 114 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 115 end 110 116 else 111 117 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_hist_norm.m
r5419 r7398 44 44 % ymin2 (numeric, minimum of cdf y-axis) 45 45 % ymax2 (numeric, maximum of cdf y-axis) 46 % nrmplt (char, 'line' or 'off' to change nrm plots from 'bar') 46 47 % cdfplt (char, 'off' to turn off cdf line plots) 47 48 % cdfleg (char, 'off' to turn off cdf legends) 49 % cmap (char or numeric, colormap definition) 48 50 % 49 51 % for each response in the input array, this function … … 164 166 end 165 167 iarg=iarg+1; 168 else 169 mu =mean(sampr); 170 display('Using calculated means.') 171 sigma=std(sampr); 172 display('Using calculated standard deviations.') 166 173 end 167 174 … … 170 177 while (iarg <= nargin-1) 171 178 if ischar(varargin{iarg}) 172 eval([varargin{iarg} '=varargin{iarg+1};']); 173 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 179 if ~isempty(strmatch(varargin{iarg},... 180 {'hmin','hmax','hnint',... 181 'ymin1','ymax1','ymin2','ymax2',... 182 'nrmplt','cdfplt','nrmleg','cmap'},... 183 'exact')) 184 eval([varargin{iarg} '=varargin{iarg+1};']); 185 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 186 else 187 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 188 end 174 189 else 175 190 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); … … 206 221 end 207 222 223 ncol=size(sampr,2); 208 224 if exist('mu','var') && exist('sigma','var') 209 ncol=size(sampr,2);210 225 for i=1:ncol 211 dbelow( ncol+i)=normcdf(edges( 1),mu(i),sigma(i));212 dhistc(1:size(dhistc,1)-1, ncol+i)=...226 dbelow(end+1)=normcdf(edges( 1),mu(i),sigma(i)); 227 dhistc(1:size(dhistc,1)-1,end+1)=... 213 228 normcdf(edges(2:end ),mu(i),sigma(i))-... 214 229 normcdf(edges(1:end-1),mu(i),sigma(i)); 215 dabove( ncol+i)=norminv(edges(end),mu(i),sigma(i));230 dabove(end+1)=norminv(edges(end),mu(i),sigma(i)); 216 231 if exist('descr','var') 217 descr( ncol+i)={[descr{i} ' norm']};232 descr(end+1)={[descr{i} ' norm']}; 218 233 end 219 234 end … … 222 237 % draw the bar plot 223 238 224 %figure 225 hl1=bar(edges(1:end-1),dhistc(1:end-1,:)); 239 figure 240 if ~exist('nrmplt','var') 241 nrmplt='bar'; 242 end 243 244 hold all 245 % hl1=bar(edges(1:end-1),dhistc(1:end-1,1:2*ncol)); 246 % hl1=line(edges(1:end-1),dhistc(1:end-1,1:2*ncol)); 247 if strncmpi(nrmplt,'b',1) 248 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:2*ncol)); 249 elseif strncmpi(nrmplt,'l',1) 250 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol)); 251 hl1(1*ncol+1:2*ncol)=... 252 line(edges(1:end-1),dhistc(1:end-1,1*ncol+1:2*ncol),... 253 'LineWidth',2); 254 elseif strncmpi(nrmplt,'off',3) 255 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol)); 256 end 226 257 ax1=gca; 258 hold off 227 259 228 260 % set barseries properties for clarity 229 261 230 if ( length(hl1) >1)262 if (ncol > 1) || strncmpi(nrmplt,'b',1) 231 263 for i=1:length(hl1) 232 set(hl1(i),'BarWidth',1,'EdgeColor','none'); 233 end 234 end 235 264 if strcmpi(get(hl1(i),'Type'),'hggroup') 265 set(hl1(i),'BarWidth',1,'EdgeColor','none'); 266 end 267 end 268 end 269 270 % set bars and lines to have a continuous colormap 271 % (if barseries is "flat", must interpolate and round to colormap) 272 273 if exist('cmap','var') 274 colormap(cmap) 275 end 276 277 cmap=colormap; 278 for i=1:length(hl1) 279 if (length(hl1) > 1) 280 imap=round((i-1)/(length(hl1)-1)*(size(cmap,1)-1))+1; 281 else 282 imap=1; 283 end 284 if strcmpi(get(hl1(i),'Type'),'hggroup') 285 if ischar(get(hl1(i),'FaceColor')) && ... 286 strcmpi(get(hl1(i),'FaceColor'),'flat') 287 set(hl1(i),'FaceColor',cmap(imap,:)) 288 else 289 set(hl1(i),'FaceColor',get(hl1(i),'FaceColor')) 290 end 291 elseif strcmpi(get(hl1(i),'Type'),'line') 292 set(hl1(i),'Color',cmap(imap,:)) 293 end 294 end 295 236 296 xlim('auto') 237 297 [xlims]=xlim; … … 256 316 % add the annotation 257 317 258 if exist('cdfplt','var') && strcmpi(cdfplt,'off') 318 if exist('cdfplt','var') && ... 319 (strncmpi(cdfplt,'off',3) || strncmpi(cdfplt,'n',1)) 259 320 title('Relative Frequency Histogram') 260 321 else … … 265 326 266 327 if exist('descr','var') 267 hleg1=legend(ax1,descr ,'Location','NorthWest',...328 hleg1=legend(ax1,descr(1:length(hl1)),'Location','NorthWest',... 268 329 'Color','none','Interpreter','none'); 269 330 else … … 273 334 %% generate the cumulative distribution functions 274 335 275 if ~exist('cdfplt','var') || ~strcmpi(cdfplt,'off') 336 if ~exist('cdfplt','var') || ... 337 (~strncmpi(cdfplt,'off',3) && ~strncmpi(cdfplt,'n',1)) 276 338 % cdf=zeros(size(dhistc)); 277 339 % cdf(1,:)=dhistc(1,:); … … 325 387 'XAxisLocation','bottom','YAxisLocation','right',... 326 388 'Color','none','Layer','top'); 327 hl2=line(edges(1:end-1),cdf(1:end-1, :),'Parent',ax2);328 329 % set line property colors to match barseries property389 hl2=line(edges(1:end-1),cdf(1:end-1,1:length(hl1)),'Parent',ax2); 390 391 % set line property colors to match barseries or line property 330 392 % (if barseries is "flat", must interpolate and round to colormap) 331 393 332 394 cmap=colormap; 333 395 for i=1:length(hl2) 334 if ischar(get(hl1(i),'FaceColor')) && ... 335 strcmpi(get(hl1(i),'FaceColor'),'flat') 336 if (length(hl2) > 1) 337 imap=round((i-1)/(length(hl2)-1)*(size(cmap,1)-1))+1; 396 if (length(hl2) > 1) 397 imap=round((i-1)/(length(hl2)-1)*(size(cmap,1)-1))+1; 398 else 399 imap=1; 400 end 401 if strcmpi(get(hl1(i),'Type'),'hggroup') 402 if ischar(get(hl1(i),'FaceColor')) && ... 403 strcmpi(get(hl1(i),'FaceColor'),'flat') 404 set(hl2(i),'Color',cmap(imap,:)) 338 405 else 339 imap=1;406 set(hl2(i),'Color',get(hl1(i),'FaceColor')) 340 407 end 341 set(hl2(i),'Color',cmap(imap,:)) 342 else 343 set(hl2(i),'Color',get(hl1(i),'FaceColor')) 408 elseif strcmpi(get(hl1(i),'Type'),'line') 409 set(hl2(i),'Color',get(hl1(i),'Color')) 344 410 end 345 411 end … … 349 415 ylabel('Cumulative Percent'); 350 416 351 if ~exist('cdfleg','var') || ~strcmpi(cdfleg,'off') 417 if ~exist('cdfleg','var') || ... 418 (~strncmpi(cdfleg,'off',3) || ~strncmpi(cdfleg,'n',1)) 352 419 % legend doesn't combine with bar chart above 353 420 if exist('cdescr','var') 354 hleg2=legend(ax2,cdescr ,'Location','NorthEast',...421 hleg2=legend(ax2,cdescr(1:length(hl2)),'Location','NorthEast',... 355 422 'Color','none','Interpreter','none'); 356 423 % set(hleg2,'Color','white') -
issm/trunk/src/m/qmu/plot/plot_hist_norm_ci.m
r4763 r7398 144 144 while (iarg <= nargin-1) 145 145 if ischar(varargin{iarg}) 146 eval([varargin{iarg} '=varargin{iarg+1};']); 147 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 146 if ~isempty(strmatch(varargin{iarg},... 147 {'hmin','hmax','hnint',... 148 'ymin1','ymax1','ymin2','ymax2',... 149 'nrmplt','ciplt','cdfplt','cdfleg','cmap'},... 150 'exact')) 151 eval([varargin{iarg} '=varargin{iarg+1};']); 152 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 153 else 154 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 155 end 148 156 else 149 157 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); … … 180 188 end 181 189 190 ncol=size(sampr,2); 182 191 if exist('mu','var') && exist('sigma','var') 183 ncol=size(sampr,2);184 192 for i=1:ncol 185 193 dbelow(end+1)=normcdf(edges( 1),mu(i),sigma(i)); … … 250 258 % hl1=bar(edges(1:end-1),dhistc(1:end-1,1:6*ncol)); 251 259 % hl1=line(edges(1:end-1),dhistc(1:end-1,1:6*ncol)); 252 if str cmpi(nrmplt,'bar')253 if str cmpi(ciplt,'bar')260 if strncmpi(nrmplt,'b',1) 261 if strncmpi(ciplt,'b',1) 254 262 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:6*ncol)); 255 elseif str cmpi(ciplt,'line')263 elseif strncmpi(ciplt,'l',1) 256 264 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:2*ncol)); 257 265 hl1(2*ncol+1:6*ncol)=... 258 266 line(edges(1:end-1),dhistc(1:end-1,2*ncol+1:6*ncol),... 259 267 'LineWidth',2); 260 elseif str cmpi(ciplt,'off')268 elseif strncmpi(ciplt,'off',3) || strncmpi(ciplt,'n',1) 261 269 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:2*ncol)); 262 270 end 263 elseif str cmpi(nrmplt,'line')264 if str cmpi(ciplt,'bar') || strcmpi(ciplt,'line')271 elseif strncmpi(nrmplt,'l',1) 272 if strncmpi(ciplt,'b',1) || strncmpi(ciplt,'l',1) 265 273 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol)); 266 274 hl1(1*ncol+1:2*ncol)=... … … 270 278 line(edges(1:end-1),dhistc(1:end-1,2*ncol+1:6*ncol),... 271 279 'LineWidth',1); 272 elseif str cmpi(ciplt,'off')280 elseif strncmpi(ciplt,'off',3) || strncmpi(ciplt,'n',1) 273 281 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol)); 274 282 hl1(1*ncol+1:2*ncol)=... … … 276 284 'LineWidth',2); 277 285 end 278 elseif str cmpi(nrmplt,'off')286 elseif strncmpi(nrmplt,'off',3) || strncmpi(nrmplt,'n',1) 279 287 hl1=bar (edges(1:end-1),dhistc(1:end-1,1:1*ncol)); 280 288 end … … 284 292 % set barseries properties for clarity 285 293 286 if ( length(hl1) >1)294 if (ncol > 1) || strncmpi(nrmplt,'b',1) 287 295 for i=1:length(hl1) 288 296 if strcmpi(get(hl1(i),'Type'),'hggroup') … … 340 348 % add the annotation 341 349 342 if exist('cdfplt','var') && strcmpi(cdfplt,'off') 350 if exist('cdfplt','var') && ... 351 (strncmpi(cdfplt,'off',3) || strncmpi(cdfplt,'n',1)) 343 352 title('Relative Frequency Histogram') 344 353 else … … 357 366 %% generate the cumulative distribution functions 358 367 359 if ~exist('cdfplt','var') || ~strcmpi(cdfplt,'off') 368 if ~exist('cdfplt','var') || ... 369 (~strncmpi(cdfplt,'off',3) && ~strncmpi(cdfplt,'n',1)) 360 370 % cdf=zeros(size(dhistc)); 361 371 % cdf(1,:)=dhistc(1,:); … … 437 447 ylabel('Cumulative Percent'); 438 448 439 if ~exist('cdfleg','var') || ~strcmpi(cdfleg,'off') 449 if ~exist('cdfleg','var') || ... 450 (~strncmpi(cdfleg,'off',3) && ~strncmpi(cdfleg,'n',1)) 440 451 % legend doesn't combine with bar chart above 441 452 if exist('cdescr','var') -
issm/trunk/src/m/qmu/plot/plot_if_bars.m
r4763 r7398 93 93 while (iarg <= nargin-1) 94 94 if ischar(varargin{iarg}) 95 eval([varargin{iarg} '=varargin{iarg+1};']); 96 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 95 if ~isempty(strmatch(varargin{iarg},... 96 {'ymin','ymax','ifmin','isort','xtlrot'},... 97 'exact')) 98 eval([varargin{iarg} '=varargin{iarg+1};']); 99 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 100 else 101 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 102 end 97 103 else 98 104 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_normdist_bars.m
r4763 r7398 108 108 while (iarg <= nargin-1) 109 109 if ischar(varargin{iarg}) 110 eval([varargin{iarg} '=varargin{iarg+1};']); 111 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 110 if ~isempty(strmatch(varargin{iarg},... 111 {'prob','ymin','ymax','xtlrot','lstr'},... 112 'exact')) 113 eval([varargin{iarg} '=varargin{iarg+1};']); 114 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 115 else 116 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 117 end 112 118 else 113 119 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_normplot.m
r4763 r7398 106 106 while (iarg <= nargin-1) 107 107 if ischar(varargin{iarg}) 108 eval([varargin{iarg} '=varargin{iarg+1};']); 109 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 108 if ~isempty(strmatch(varargin{iarg},... 109 {'xmin','xmax'},... 110 'exact')) 111 eval([varargin{iarg} '=varargin{iarg+1};']); 112 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 113 else 114 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 115 end 110 116 else 111 117 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_prob_bars.m
r4763 r7398 103 103 while (iarg <= nargin-1) 104 104 if ischar(varargin{iarg}) 105 eval([varargin{iarg} '=varargin{iarg+1};']); 106 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 105 if ~isempty(strmatch(varargin{iarg},... 106 {'ymin','ymax','xtlrot','cmap','lstr'},... 107 'exact')) 108 eval([varargin{iarg} '=varargin{iarg+1};']); 109 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 110 else 111 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 112 end 107 113 else 108 114 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_rlev_bars.m
r4763 r7398 95 95 while (iarg <= nargin-1) 96 96 if ischar(varargin{iarg}) 97 eval([varargin{iarg} '=varargin{iarg+1};']); 98 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 97 if ~isempty(strmatch(varargin{iarg},... 98 {'ymin','ymax','xtlrot','lstr'},... 99 'exact')) 100 eval([varargin{iarg} '=varargin{iarg+1};']); 101 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 102 else 103 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 104 end 99 105 else 100 106 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_rlev_bars_ci.m
r4763 r7398 109 109 while (iarg <= nargin-1) 110 110 if ischar(varargin{iarg}) 111 eval([varargin{iarg} '=varargin{iarg+1};']); 112 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 111 if ~isempty(strmatch(varargin{iarg},... 112 {'ymin','ymax','xtlrot','lstr'},... 113 'exact')) 114 eval([varargin{iarg} '=varargin{iarg+1};']); 115 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 116 else 117 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 118 end 113 119 else 114 120 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_rvsv_line.m
r4763 r7398 163 163 while (iarg <= nargin-1) 164 164 if ischar(varargin{iarg}) 165 eval([varargin{iarg} '=varargin{iarg+1};']); 166 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 165 if ~isempty(strmatch(varargin{iarg},... 166 {'nplotr','nplotc',... 167 'ymin','ymax','yscat'},... 168 'exact')) 169 eval([varargin{iarg} '=varargin{iarg+1};']); 170 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 171 else 172 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 173 end 167 174 else 168 175 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); … … 210 217 hplot(end+1)=plot (sampv(indxv ,ivar),sampr(indxv ,iresp),'-x'); 211 218 cdesc(end+1)={[descr{iresp} ' wrt ' descv{ivar}]}; 212 if ~exist('yscat','var') || ~strcmpi(yscat,'off') 219 if ~exist('yscat','var') || ... 220 (~strncmpi(yscat,'off',3) && ~strncmpi(yscat,'n',1)) 213 221 hscat(end+1)=scatter(sampv(indxv2,ivar),sampr(indxv2,iresp),'+k'); 214 222 % see "controlling legends" in Matlab on-line docs -
issm/trunk/src/m/qmu/plot/plot_rvsv_scat3.m
r4763 r7398 172 172 while (iarg <= nargin-1) 173 173 if ischar(varargin{iarg}) 174 eval([varargin{iarg} '=varargin{iarg+1};']); 175 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 174 if ~isempty(strmatch(varargin{iarg},... 175 {'nplotr','nplotc',... 176 'ymin','ymax','zmin','zmax',... 177 'cmin','cmax','smark'},... 178 'exact')) 179 eval([varargin{iarg} '=varargin{iarg+1};']); 180 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 181 else 182 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 183 end 176 184 else 177 185 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_rvsv_surf.m
r5457 r7398 169 169 while (iarg <= nargin-1) 170 170 if ischar(varargin{iarg}) 171 eval([varargin{iarg} '=varargin{iarg+1};']); 172 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 171 if ~isempty(strmatch(varargin{iarg},... 172 {'nplotr','nplotc',... 173 'zmin','zmax',... 174 'cmin','cmax'},... 175 'exact')) 176 eval([varargin{iarg} '=varargin{iarg+1};']); 177 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 178 else 179 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 180 end 173 181 else 174 182 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']); -
issm/trunk/src/m/qmu/plot/plot_sampdist_bars.m
r4763 r7398 107 107 while (iarg <= nargin-1) 108 108 if ischar(varargin{iarg}) 109 eval([varargin{iarg} '=varargin{iarg+1};']); 110 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 109 if ~isempty(strmatch(varargin{iarg},... 110 {'ymin','ymax','xtlrot','lstr'},... 111 'exact')) 112 eval([varargin{iarg} '=varargin{iarg+1};']); 113 disp([varargin{iarg} '=' any2str(varargin{iarg+1}) ';']); 114 else 115 warning([varargin{iarg} '=' any2str(varargin{iarg+1}) ' is not recognized.']); 116 end 111 117 else 112 118 error(['''' any2str(varargin{iarg}) ''' is not a parameter name.']);
Note:
See TracChangeset
for help on using the changeset viewer.